Probleme sur update id

stefanelle -  
 stefanelle -
Bonjour,

j affiche mes tables et champ sous forme de tableau en php j ai a cote de chaque ligne indiquer une option modifier qui me renvoie sur une autre page la ligne selectionné et que je peux modifie r...

je veux modifier mon id, reference, artiste, album, format quand je fais mon update tout va bien sauf qu il met a jour mon champ id (auto increment) a zero alors qu il etait a 1, 2, 3 ... comment modifier pour le champ id reste le meme ?

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"

"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<title>Catalogue</title>
<link rel="stylesheet" type="text/css" href="style.css">
</head>
<body link="#000000" vlink="#444444" alink="#888888">
<div id="body">

<?php

include ('config.php');
include ('connexion.php');

$id = $_GET["id"];

$sql = "SELECT id, reference, artiste, album, format FROM contenu WHERE id='".$_GET

['id']."'" ;

$req = mysql_query($sql) or die( mysql_error() ) ;

$total = mysql_num_rows($req);

echo $sql2= "UPDATE contenu SET id='".$_POST['id']."', reference='".$_POST

['reference']."', artiste='".$_POST['artiste']."',album='".$_POST

['album']."',format='".$_POST['format']."'
WHERE id ='".$_GET['id']."'" ;

$req2= mysql_query($sql2) or die('Erreur SQL !'.$sql2.'<br>'.mysql_error());

{
echo '<form method ="post" action="modifier.php">';
echo '<table>'."\n";
echo '<tr>';
echo '<td ><b><u>id</u></b></td>';
echo '<td ><b><u>reference</u></b></td>';
echo '<td><b><u>artiste</u></b></td>';
echo '<td><b><u>album</u></b></td>';
echo '<td><b><u>format</u></b></td>';
echo '</tr>'."\n";

while($row = mysql_fetch_array($req))

{
echo '<tr>';
echo '<td>'.$id.'</td>';

echo '<td><input type="text" name="reference" value="'.$row

["reference"].'"/></td>';
echo '<td><input type="text" name="artiste" value="'.$row["artiste"].'"/></td>';
echo '<td><input type="text" name="album" value="'.$row["album"].'"/></td>';
echo '<td><input type="text" name="format" value="'.$row["format"].'"/></td>';
echo '</tr>'."\n";

}
echo '</table>'."\n";
echo '<input type="submit" name="btOk" value="Modifier"/>';
echo '</form>';

if (isset($_POST['btOk']))

{

if($req2)

{
echo ("L'insertion a été correctement effectuée") ;
echo '<br><a href="http://arm-

info.hd.free.fr/handsandarms/label_modif.php">Retour sur les labels</a></br>';
}

else

{
echo("L'insertion à échouée") ;
}

}
}

?>

</body></html>

<?php
mysql_close();
?>
A voir également:

1 réponse

Ricky38 Messages postés 5776 Date d'inscription   Statut Contributeur Dernière intervention   1 462
 
salut,

pourquoi modifier l'id si il est auto incrémenter ?

enleve l'update de ton id comme ceci

echo $sql2= "UPDATE contenu SET reference='".$_POST

['reference']."', artiste='".$_POST['artiste']."',album='".$_POST

['album']."',format='".$_POST['format']."'
WHERE id ='".$_GET['id']."'" ; 
0
stefanelle
 
merci de ta réponse le problème c est que quand j ai mis ca et que je modifies la référence il me vide tous les champs :-(
0
Ricky38 Messages postés 5776 Date d'inscription   Statut Contributeur Dernière intervention   1 462 > stefanelle
 
la question que je me demande est pourquoi tu fonctionne avec des $_POST pour tes champs et un $_GET pour ton id ?? Il devrait être en $_POST lui aussi non ?
0
stefanelle > Ricky38 Messages postés 5776 Date d'inscription   Statut Contributeur Dernière intervention  
 
effectivement je me suis dit qu il valait mieux mettre le get du coup j ai fait plusieurs tentative sur mon update

voila ce qu il en ressort

- je met le id='".$_GET['id']."' il me vide mes champs
- je met id='".$_POST['id']."' il me fait bien la modif mais il met ma valeur ID a 0
- j enlève le set id il me vide tous les champs
0
Ricky38 Messages postés 5776 Date d'inscription   Statut Contributeur Dernière intervention   1 462 > stefanelle
 
ok essaie ceci:

echo $sql2= "UPDATE contenu SET reference='".$_POST

['reference']."', artiste='".$_POST['artiste']."',album='".$_POST

['album']."',format='".$_POST['format']."'
WHERE id ='".$_POST['id']."'" ;
 
0
stefanelle > Ricky38 Messages postés 5776 Date d'inscription   Statut Contributeur Dernière intervention  
 
alors il m a bien modifiés tous les champs mais il m a mit la valeur de l id a zéro alors qu elle était a 1 :-( du coup j e m etais dit de mettre une textbox

echo '<td><input type="text" name="id" value="'.$row ["id"].'"/></td>';

afin que l id est la valeur 1 et de la récupérer avec un post mais il me met un problème de duplicate entry ...
0