fonction UPDATE qui update et insère
Posté : 20 juin 2008, 17:58
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
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
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é.</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