Pb avec UPDATE

Résolu
justine75 Messages postés 49 Date d'inscription samedi 21 mai 2005 Statut Membre Dernière intervention 29 décembre 2005 - 23 oct. 2005 à 16:45
justine75 Messages postés 49 Date d'inscription samedi 21 mai 2005 Statut Membre Dernière intervention 29 décembre 2005 - 24 oct. 2005 à 19:42
bonjour à tous!

voilà j'essaye de mettre à jour une base de données mais la requete avec mon UPDATE rencontre quelque problème

voici mon code :


// modifier 
if(isset($_POST['sub_form2'])) 
{ $sql2 "UPDATE rat SET  'nom_rat' '".$data['nom_rat']."', 'sexe_rat' = '".$data['sexe_rat']."', 'poids_rat' = '".$data['poids_rat']."', 'age_rat' = '".$data['age_rat']."', 'couleur_rat' = '".$data['couleur_rat']."' WHERE 'id_rat' =  ".$_POST['supp']; 
$res = mysql_query($sql2) or die (mysql_error()); 
echo "rat modifié"; 
} 

echo "
"; 
 echo "
"; 
$SQL = 'SELECT * FROM rat'; 
$req = mysql_query($SQL) or die('Erreur SQL !
'.$SQL.'
'.mysql_error()); 
echo "<form method="post" action="{$_SERVER['PHP_SELF']}">"; 

while($data = mysql_fetch_assoc($req)) 
    { 
echo "Identifiant : "."
" ; 
echo "Nom : "."" ; 
echo "Sexe : "."" ; 
echo "Poids : "."" ; 
echo "Age : "."" ; 
echo "Couleur : ".""; 
echo ""."

"; 
}  
echo ""; 
echo ""; 
echo "</form>"; 
echo "ajout d un rat"; 

echo "</form>"; 



mon problème se situe dans ma requete

merci pour votre aide car je comprends pas vraiment où est l'erreur...

18 réponses

monoceros01 Messages postés 420 Date d'inscription vendredi 28 novembre 2003 Statut Membre Dernière intervention 20 mars 2006
24 oct. 2005 à 02:31
non :p

$_POST

pas $POST



Le problème aussi, c'est qu'il faudrait mettre ton if d'update avant
l'affichage de ta boucle while sinon tu verras pas le résultat de ta
modification
3
FhX Messages postés 2350 Date d'inscription mercredi 13 octobre 2004 Statut Membre Dernière intervention 18 avril 2015 3
23 oct. 2005 à 17:24
"UPDATE rat SET 'nom_rat' = '".$data['nom_rat']."'



Presque :

"UPDATE rat SET nom_rat = '".$data['nom_rat']."' ... ";



On ne met pas les noms de champs entre guillemets !
0
justine75 Messages postés 49 Date d'inscription samedi 21 mai 2005 Statut Membre Dernière intervention 29 décembre 2005
23 oct. 2005 à 17:46
oauis je les ais enlevé
mais quand je clique sur "modifié" il me supprime tous els elements, du rat qui devat etre modifié, sauf son identifiant et sa maladie
0
monoceros01 Messages postés 420 Date d'inscription vendredi 28 novembre 2003 Statut Membre Dernière intervention 20 mars 2006
23 oct. 2005 à 20:10
C'est simple =)

echo "Identifiant : "."
" ;

echo "Nom : "."" ;
echo "Sexe : "."" ;
echo "Poids : "."" ;
echo "Age : "."" ;
echo "Couleur : "."";



Ça c'est pas bon du tout

le schéma d'un input c'est





Si tous tes champs on pour name "ok" ... tu risque pas de pouvoir utiliser grand chose =)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
justine75 Messages postés 49 Date d'inscription samedi 21 mai 2005 Statut Membre Dernière intervention 29 décembre 2005
23 oct. 2005 à 22:38
oui oui je lavé modifier
mais ça ne change rien...
ca supprime ...
0
monoceros01 Messages postés 420 Date d'inscription vendredi 28 novembre 2003 Statut Membre Dernière intervention 20 mars 2006
23 oct. 2005 à 23:57
Raffiche tout ton script avec ce que tu as mis a jour, pour qu'on parle toujours de la même chose =)
0
justine75 Messages postés 49 Date d'inscription samedi 21 mai 2005 Statut Membre Dernière intervention 29 décembre 2005
24 oct. 2005 à 00:13
oui oui

<?


 echo "Liste des rats trouv&#233;s dans la base de donn&#233;es:

";
 echo "
";
 echo "
";
 echo "";


$db = mysql_connect('localhost', 'root', 'pouet');
mysql_select_db('oye',$db);


// suppression
if(isset($_POST['sub_form'])) 
{$sql "DELETE FROM rat WHERE id_rat ".$_POST['supp'];
$res = mysql_query($sql) or die (mysql_error());
echo "rat supprim&#233;";
}


echo "
";
 echo "
";
$SQL = 'SELECT * FROM rat';
$req = mysql_query($SQL) or die('Erreur SQL !
'.$SQL.'
'.mysql_error());
echo "<form method="post" action="{$_SERVER['PHP_SELF']}">";


while($data = mysql_fetch_assoc($req))
    {
echo "Identifiant : "."
" ;
echo "Nom : "."" ;
echo "Sexe : "."" ;
echo "Poids : "."" ;
echo "Age : "."" ;
echo "Couleur : "."";
echo ""."

";
}


// modifier
if(isset($_POST['sub_form2']))
{$sql2 "UPDATE rat SET  nom_rat '".$data['nom_rat']."', sexe_rat = '".$data['sexe_rat']."', poids_rat = '".$data['poids_rat']."', age_rat = '".$data['age_rat']."', couleur_rat = '".$data['couleur_rat']."' WHERE id_rat =  ".$_POST['supp'];
$res2 = mysql_query($sql2) or die (mysql_error());
echo "rat modifi&#233;";
}
echo "";
echo "";
echo "</form>";
echo "ajout d un rat";


echo "</form>";


?>
0
monoceros01 Messages postés 420 Date d'inscription vendredi 28 novembre 2003 Statut Membre Dernière intervention 20 mars 2006
24 oct. 2005 à 00:16
ou définis-tu la variable $data ?
0
justine75 Messages postés 49 Date d'inscription samedi 21 mai 2005 Statut Membre Dernière intervention 29 décembre 2005
24 oct. 2005 à 00:32
$data = mysql_fetch_assoc($req)
0
monoceros01 Messages postés 420 Date d'inscription vendredi 28 novembre 2003 Statut Membre Dernière intervention 20 mars 2006
24 oct. 2005 à 00:35
Autant pour moi j'avais pas vu =)



Le problème c'est que tu définis ta variable $data avec les valeur de
ta base de données pour les utiliser pour l'update, donc ça ne changera
jamais rien



while($data = ....)



.....



UPDATE .....nom_rat = '".$data["nom_rat"]."',....
0
justine75 Messages postés 49 Date d'inscription samedi 21 mai 2005 Statut Membre Dernière intervention 29 décembre 2005
24 oct. 2005 à 01:20
oui j'utilise $data afin d'afficher les données dans ma page administrateur mais aussi pour les supprimer
les données ne sont pas en dur, elles peuvent être modifiées directement dans cette page, et c'est ça que je veux faire
0
monoceros01 Messages postés 420 Date d'inscription vendredi 28 novembre 2003 Statut Membre Dernière intervention 20 mars 2006
24 oct. 2005 à 01:34
Oui mais quand tu envois un formulaire, tu recharge la page, c'est pas
parce que ton formulaire est entre ton while et ton update que ça va
changer grand chose.

La solution est de récupérer les variables envoyées par ton formulaire grâce à la variable autoglobal $_POST



dans ton cas tu utilisera $_POST['id'], $_POST['nom'],
$_POST['sexe'],..... qui contiendrons les données renvoyées par ton
formulaire ;)
0
justine75 Messages postés 49 Date d'inscription samedi 21 mai 2005 Statut Membre Dernière intervention 29 décembre 2005
24 oct. 2005 à 02:19
a oauis ok
je commence à comprendre ...
donc en faite faut que je mette :


while($data = mysql_fetch_assoc($req))
    {
echo "Identifiant : "."
" ;
echo "Nom : "."" ;
echo "Sexe : "."" ;
echo "Poids : "."" ;
echo "Age : "."" ;
echo "Couleur : "."";
echo ""."

";
}


// modifier
if(isset($_POST['sub_form2']))
{$sql2 "UPDATE rat SET  nom_rat '".$POST['nom']."', sexe_rat = '".$POST['sexe']."', poids_rat = '".$POST['poids']."', age_rat = '".$POST['age']."', couleur_rat = '".$POST['couleur']."' WHERE id_rat =  ".$_POST['supp'];
$res2 = mysql_query($sql2) or die (mysql_error());
echo "rat modifi&#233;";
}



oui?
0
FhX Messages postés 2350 Date d'inscription mercredi 13 octobre 2004 Statut Membre Dernière intervention 18 avril 2015 3
24 oct. 2005 à 16:36
Bien sur que si que tu verras l'affichage du résultat, mais avec le formulaire en plus =)

Disons que c'est mal codé, il vaut mieux faire les vérifs tout au début et afficher ensuite ce que l'on veut plus bas.
0
justine75 Messages postés 49 Date d'inscription samedi 21 mai 2005 Statut Membre Dernière intervention 29 décembre 2005
24 oct. 2005 à 16:36
oula je ne sais pas pourquoi j'ai mis $POST mdr
il était tard, completement à l'ouest lol

bon je crois bien que j'ai compris quelque truc
et ça marche très bien à présent et j'en suis vraiment contente :d
je vais mettre le code,ça pourra peut être aider des personnes :

<?


 echo "Liste des rats trouv&#233;s dans la base de donn&#233;es:

";
 echo "
";
 echo "
";
 echo "";


$db = mysql_connect('localhost', 'root', 'pouet');
mysql_select_db('oye',$db);


// suppression
if(isset($_POST['sub_form'])) 
{$sql "DELETE FROM rat WHERE id_rat ".$_POST['supp'];
$res = mysql_query($sql) or die (mysql_error());
echo "rat supprim&#233;";
}


 // modifier
if(isset($_POST['sub_form2']))
{$sql2 "UPDATE rat SET  nom_rat '".$_POST['nom']."', sexe_rat = '".$_POST['sexe']."', poids_rat = '".$_POST['poids']."', age_rat = '".$_POST['age']."', couleur_rat = '".$_POST['couleur']."' WHERE id_rat =  ".$_POST['supp'];
$res2 = mysql_query($sql2) or die (mysql_error());
echo "rat modifi&#233;";
}


echo "
";
 echo "
";


$SQL = 'SELECT * FROM rat';
$req = mysql_query($SQL) or die('Erreur SQL !
'.$SQL.'
'.mysql_error());
echo "<form method="post" action="{$_SERVER['PHP_SELF']}">";


while($data = mysql_fetch_assoc($req))
    {
echo "Identifiant : "."
" ;
echo "Nom : "."" ;
echo "Sexe : "."" ;
echo "Poids : "."" ;
echo "Age : "."" ;
echo "Couleur : "."";
echo ""."

";
}



echo "";
echo "";
echo "</form>";
echo "ajout d un rat";


echo "</form>";


?>


merci beaucoup pour ton aide, qui m'a été vraiment précieuse!!
0
justine75 Messages postés 49 Date d'inscription samedi 21 mai 2005 Statut Membre Dernière intervention 29 décembre 2005
24 oct. 2005 à 16:38
monoceros01, tu m'as bien mise sur la voie
0
monoceros01 Messages postés 420 Date d'inscription vendredi 28 novembre 2003 Statut Membre Dernière intervention 20 mars 2006
24 oct. 2005 à 18:31
De rien =)



(Accepte ma réponse pour indiquer a tout le monde que ton problème est résolu ;) )
0
justine75 Messages postés 49 Date d'inscription samedi 21 mai 2005 Statut Membre Dernière intervention 29 décembre 2005
24 oct. 2005 à 19:42
oui oui
merci encore!
0
Rejoignez-nous