Mysql Insertion en double
10 messages
• Page 1 sur 1
-

webac - WRInaute occasionnel

- Messages: 374
- Inscription: 4 Mar 2005
Mysql Insertion en double
Bonjour à tous,
Je rencontre un petit problème sur une requête INSERT pourtant simple, les enregistrements sont doublés.
Voici mon code :
Je rencontre un petit problème sur une requête INSERT pourtant simple, les enregistrements sont doublés.
Voici mon code :
- Code: Tout sélectionner
<?
include ('connexion.php');
for ($i = 0; $i < sizeof($_POST['Id']); $i++)
{
$sql = "INSERT INTO tarif (Nom, Id, Pachat, Pvente)
VALUES
('" . $_POST['Nom'] . "','" . $_POST['Id'][$i] . "', '" . $_POST['Pachat'][$i] . "', '" . $_POST['Pvente'][$i] . "')" ;
}
echo '<center><font color="red" size ="14">Tarif Crée avec succès</font></center>';
?>
-

webac - WRInaute occasionnel

- Messages: 374
- Inscription: 4 Mar 2005
Re: Mysql Insertion en double
ça ne vient effectivement pas de la requête, j'ai lu sur d'autre forums que cela pouvait provenir du javascript lié au bouton(Image) de mon formulaire mais je ne vois pas trop ce que je dois modifier .
Voici le code lié à mon bouton :
et le bouton :
j'ai testé ceci également mais même résultat :
Pour ceux que ça intéresse voici l'ensemble du code des deux pages :
Page du Formulaire :
Page de traitement :
Voici le code lié à mon bouton :
- Code: Tout sélectionner
<script langage='javascript'>
function Cloturer(){
document.forms['form1'].action ='Crea_Tarif2.php';
document.forms['form1'].submit();
}
</script>
et le bouton :
- Code: Tout sélectionner
<img src="accepte.gif" style="cursor: pointer" onClick="Cloturer();">
j'ai testé ceci également mais même résultat :
- Code: Tout sélectionner
<input name="Submit" type="image" src="accepte.gif" alt="Valider la selection" align="bottom" width="20" height="20" onClick="Cloturer()" value="Cloturer"/>
Pour ceux que ça intéresse voici l'ensemble du code des deux pages :
Page du Formulaire :
- Code: Tout sélectionner
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Création d'un Tarif</title>
<style type="text/css">
<!--
.Style1 {
color: #000000;
font-weight: bold;
font-size: 36px;
}
-->
</style>
</head>
<body>
<div align="center"><p class="Style1">Création d'un Tarif</p></div>
<form id="form1" name="form1" method="post" action="Crea_Tarif2.php">
<div align="center"><strong>Nom du Tarif :</strong><input name="Nom" type="text" id="Nom" size="15" /></div>
<table width="50%" border="1" align="center" bordercolor="#FFFFFF">
<tr>
<td><strong>Produit</strong></td>
<td><center><strong>Prix d'Achat</strong></center></td>
<td><center><strong>Prix de Vente</strong></center></td>
</tr>
<br />
<td bgcolor="#FFFFFF" class="intitule"> <div align="center"><font size="5"></font></div></td>
<? include ('../connexion.php'); ?>
<?php
$sql = "SELECT DISTINCT lib,id, position from produits WHERE 1 ORDER BY position";
$resultat = mysql_query ($sql);
$nblignes = mysql_num_rows($resultat);
$i = 0;
while ($cl = mysql_fetch_array ($resultat))
{
$couleur = "#5389EE";
$i++;
if ($i % 2 ==1)
{
$couleur = "#0066CC";
}
$lib = $cl['lib'];
$id = $cl['id'];
echo "<tr BGCOLOR=$couleur>\n";
echo "<td><font size=2 color=white><b>$lib<b></font></td>\n";
echo "<td><center><input type=text name=Pachat[] size=5></center></td>\n";
echo "<td><center><input type=text name=Pvente[] size=5></center></td>\n";
echo "<input type=hidden name=Id[] value=$id></center></td>\n";
echo "</tr>\n";
}
mysql_close()
?>
</table>
<br />
<div align="center">Cliquez sur l'icone pour valider la sélection :</div>
<div align="center"><input name="Submit" type="image" src="accepte.gif" alt="Valider la selection" align="bottom" width="20" height="20" value="Cloturer"/></div>
</form>
</body>
</html>
Page de traitement :
- Code: Tout sélectionner
<?
include ('connexion.php');
for ($i = 0; $i < sizeof($_POST['Id']); $i++)
{
$sql = "INSERT INTO tarif (Nom, Id, Pachat, Pvente)
VALUES
('" . $_POST['Nom'] . "','" . $_POST['Id'][$i] . "', '" . $_POST['Pachat'][$i] . "', '" . $_POST['Pvente'][$i] . "')" ;
$res=mysql_query($sql);
}
echo '<center><font color="red" size ="14">Tarif Crée avec succès</font></center>';
?>
Dernière édition par webac le Ven Aoû 07, 2009 15:54, édité 1 fois.
- Moof
- WRInaute discret

- Messages: 206
- Inscription: 22 Mar 2003
Re: Mysql Insertion en double
Faudrait pas remplacer
- Code: Tout sélectionner
$_POST['Nom']
- Code: Tout sélectionner
$_POST['Nom'][$i]
-

5_legs - WRInaute passionné

- Messages: 2072
- Inscription: 30 Avr 2006
Re: Mysql Insertion en double
Oui mais là, tu ne sais pas si c'est ton action qui est exécutée 2 fois ou si cela vient d'ailleurs
D'où mon idée d'afficher le résultat
D'où mon idée d'afficher le résultat
- Code: Tout sélectionner
<?
include ('connexion.php');
for ($i = 0; $i < sizeof($_POST['Id']); $i++)
{
$sql = "INSERT INTO tarif (Nom, Id, Pachat, Pvente)
VALUES
('" . $_POST['Nom'] . "','" . $_POST['Id'][$i] . "', '" . $_POST['Pachat'][$i] . "', '" . $_POST['Pvente'][$i] . "')" ;
echo $i . ' = ' . $_POST['Nom'] . ' - ' . $_POST['Id'][$i] . ' - ' . $_POST['Pachat'][$i] . ' - ' . $_POST['Pvente'][$i] . '<br />' ;
}
echo '<center><font color="red" size ="14">Tarif Crée avec succès</font></center>';
?>
-

RiPSO - WRInaute passionné

- Messages: 1591
- Inscription: 4 Oct 2007
Re: Mysql Insertion en double
a priori je dirai que ca s'execute deux fois car c'est executé via le formulaire et aussi via le javascript. Ton javascript ne sert strictement à rien à part t'ajouter des problèmes de compatibilité avec ceux qui auront désactivé le javascript 
10 messages
• Page 1 sur 1
Lectures recommandées sur ce thème :
- probleme insertion en serveur mysql
- mysql : insertion d'un champ vide
- [mysql] insertion si pas dans la table
- insertion dans un champs Mysql de type BLOB
- Controle doublons et champs existants insertion mysql
- Problemes insertion avec formulaire dans mysql
- Reprise gestion de site et aide formulaire insertion mysql
- insertion d'une phrase avec apostrophe dans Mysql
- AdSense Tracking : statistiques détaillées sur les clics AdSense - 29-02-2004
- Gestion des langues et des sessions en PHP / MySQL - 02-05-2004
- Google indexe plus de 8 milliards de pages - 11-11-2004
- Passage à l'heure d'été/hiver sur un forum phpBB - 31-10-2010
- Script de mise en cache des pages (PHP MySQL) - 09-08-2010
- GoogleStats : analyse temps réel des visites de Google sur votre site - 02-10-2002
- Sortie officielle de GoogleStats v2.0 ! - 23-02-2003
- Statistiques sur la blogosphère (Août 2006) - 08-08-2006
Qui est en ligne
Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité
