Je suis actuellement bloqué sur 2 problèmes auquel je ne trouve pas de solutions, elle doit surement être flagrante....
Étant débutant je ne connais pas tout les termes techniques alors j'ai mis un site d'exemple qui reproduit mon problème.

http://4sx.free.fr/badge

puis à droite "exploitation badge" choix "PACA"

Je souhaite lorsque je sélectionne un nom (via le menu déroulant) pour un numéro avoir le résultat dans la colonne "message", jusque la tout va bien sauf que celui ci me fait deux INSERT dans ma table au lieu de un.

Et mon deuxième problème plus important, je pense, se situe au niveau d'une condition que je ne sais pas inclure, ex: pour le Numéro 5678 je souhaite que dans la colonne message affiche uniquement les informations concernant cette référence, alors que pour le moment les deux référence affichent les mêmes mise à jour.

Si une âme charitable aurait une orientation à me donner, je suis preneur.

Le code de la page et les tables utilisées.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
<!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>Untitled Document</title>
</head>
 
<body>
<?php
 
 
// on se connecte à MySQL
$db = mysql_connect('localhost', '4sx', 'xxxxx');
 
// on sélectionne la base
mysql_select_db('4sx',$db);
 
?>
<table width="125" border="2" cellpadding="0" cellspacing="0">
            <tr bgcolor="#0099FF">
			  <td width="23" bgcolor="#0099FF" class=tabhead><br>
              <b><?php echo 'Numéro'; ?></b></td>
                <td width="25" bgcolor="#0099FF" class=tabhead><br>
              <b><?php echo 'DEPT'; ?></b></td>
                <td width="26" bgcolor="#0099FF" class=tabhead><br>
              <b><?php echo 'Technicien'; ?></b></td>
			  <td width="351" bgcolor="#0099FF" class=tabhead><br>
              <b><?php echo 'Messages'; ?></b></td>
  </tr>
<?php
mysql_query("INSERT INTO paca_badge (numero,departement,commentaire)");      
$result = mysql_query("SELECT numero,departement,commentaire FROM paca_badge ORDER BY departement");
              while ($row = mysql_fetch_array($result)) {
                    echo "<tr valign='middle'>";
					echo "<td class='tabval'><b>".$row['numero']."</b>&nbsp;</td>";
                    echo "<td class='tabval'>".$row['departement']."&nbsp;</td>";
					echo "<td class='tabval'>".$sql = 'INSERT INTO paca_badge_prod VALUES("", "'.mysql_escape_string($_POST['auteur']).'", "'.date("Y-m-d H:i:s").'", "'.mysql_escape_string($_POST['message']).'")';
					if(!empty($_POST['auteur'])){
						mysql_query($sql) or die('Erreur SQL !'.$sql.'<br />'.mysql_error());
						}
						echo "<form action='index.php' method='post'>";
						echo "<SELECT NAME='auteur' onChange='FocusObjet()'>";
						$req = mysql_query("SELECT auteur FROM paca_utilisateur ORDER BY auteur");
							while($donnee = mysql_fetch_array($req))
 
						echo "<OPTION VALUE='$donnee[auteur]'>$donnee[auteur] </option>";
 
						echo "</select>";
						echo "<textarea name='message' cols='31' rows='2'></textarea>";
						echo "<input name='go' type='submit' value='Valider'>";
						echo "</form>"; 
						echo "</td>";
					echo "<td class='tabval'>".$sql = 'SELECT auteur, date_signature, message FROM paca_badge_prod ORDER BY date_signature DESC';
						$req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
						$nb_signature = mysql_num_rows($req);
						if ($nb_signature == 0) {
						echo 'Aucun mouvement.';
						}
						else {
						while ($data = mysql_fetch_array($req)) {
						sscanf($data['date_signature'], "%4s-%2s-%2s %2s:%2s:%2s", $annee, $mois, $jour, $heure, $minute, $seconde);
						echo '<a href=mailto:' , htmlentities(trim($data['email'])) , '>' , htmlentities(trim($data['auteur'])) , '</a>';
						echo ' le ' , $jour , '/' , $mois , '/' , $annee , ' à ' , $heure , ':' , $minute , '<br />';
						echo nl2br(htmlentities(trim($data['message'])));
						echo '<br /><br />';
						}
						}
						// on libère l'espace mémoire alloué pour cette requête
						mysql_free_result ($req);
					echo "</td>";
                	echo "</tr>";
          }
// on ferme la connexion à mysql
mysql_close();
?>
</table>
</body>
</html>
et les tables de la base 4sx:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
 
CREATE TABLE IF NOT EXISTS `paca_badge` (
  `id` int(6) NOT NULL AUTO_INCREMENT,
  `numero` varchar(200) CHARACTER SET latin1 COLLATE latin1_general_ci DEFAULT NULL,
  `departement` varchar(200) CHARACTER SET latin1 COLLATE latin1_general_ci DEFAULT NULL,
  `commentaire` varchar(80) CHARACTER SET latin1 COLLATE latin1_general_ci DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8 AUTO_INCREMENT=13 ;
 
 
CREATE TABLE IF NOT EXISTS `paca_badge_prod` (
  `id` int(6) NOT NULL AUTO_INCREMENT,
  `auteur` varchar(50) NOT NULL,
  `date_signature` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
  `message` text NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8 AUTO_INCREMENT=5 ;
 
 
CREATE TABLE IF NOT EXISTS `paca_utilisateur` (
  `id` int(6) NOT NULL AUTO_INCREMENT,
  `auteur` varchar(50) NOT NULL,
  `email` varchar(50) NOT NULL,
  `date_signature` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
  `telephone` varchar(50) NOT NULL,
  `localisation` varchar(50) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=16 ;