Page 1 sur 1

fonction UPDATE qui update et insère

Posté : 20 juin 2008, 17:58
par wik
Bonjour,

J'ai un formulaire permettant de modifier des données, qui sont dans 2 tables liées.
Je souhaite donc pour l'update qu'il modifie les 2 tables liées...

Voici la page du formulaire
$disk_id = $_GET['disk_id'];
	 $track_id = $_GET['track_id'];
	 $dt_id = $_GET['dt_id'];
	 
	 echo '<form action="maj_disk_tracks.php?disk_id='.$disk_id.'&track_id='.$track_id.'&dt_id='.$dt_id.'" method="POST">';
	 
	 $requete = mysql_query ("SELECT dt.disktrack_id, d.disk_id, t.track_id, t.track_titre, t.track_mp3, dt.ordre FROM disk d LEFT JOIN disk_track dt ON (dt.disk_id = d.disk_id) LEFT JOIN track t ON (dt.track_id = t.track_id) WHERE  dt.disktrack_id = '".$dt_id."'") or die('Erreur : ' . mysql_error());
	
	 while ($track = mysql_fetch_array($requete)){
	 
	  		echo'<span class="txt10gras">n° (peut rester vide) </span>
			<input type="text" name="nb" value="'.$track[ordre].'" size="5" class="infoDisc">
			<br><br>
			<span class="txt10gras">titre </span>
			<br><br>
			<input type="text" name="track" value="'.$track[track_titre].'" size="70" class="infoDisc">
	  		<br><br>
			<span class="txt10gras">lien mp3 </span>
			<input type="text" name="mp3" value="'.$track[track_mp3].'" size="70" class="infoDisc">
			<br><br>
			<input type="hidden" name="disk_id" value="'. $disk_id .'">
			<input type="hidden" name="track_id" value="'. $track_id .'">
			<input type="text" name="dt_id" value="'. $dt_id .'">
			<input type="submit" name="modif" value="OK" class="txt10gras">
			<input type="submit" name="annul" value="annuler" class="txt10gras">
      		</form>';
			
			}
Et dans une autre page, le traitement de ce formulaire
$disk_id = $_GET['disk_id'];
     $track_id = $_GET['track_id'];
	 $dt_id = $_GET['dt_id'];

                               //// MODIF D'UN TRACK
		if (isset($modif)){
		$requete1 = mysql_query ("UPDATE track SET track_titre = '".$track."', track_mp3 = '".$mp3."' WHERE track_id = '".$track_id."'") or die('Erreur : ' . mysql_error());
		$requete2 = mysql_query ("UPDATE disk_track SET ordre = '".$nb."' WHERE disktrack_id = '".$dt_id."'") or die('Erreur : ' . mysql_error());
		
		echo "<span class='txt10rougeGras'>$track est modifi&eacute;.</span><br><br>";
		}
La mise à jour s'effectue bien dans la 1ere table.
Dans la 2de, les données sont mises à jour sur l'ID qui va bien mais en plus il créé un nouvel enregistrement...

Quelqu'un peut-il m'éclairer ? Merci d'avance