mise a jour des données

fabrice88
Invité n'ayant pas de compte PHPfrance

16 juin 2006, 16:52

bonjour,

Voilà j'ai fait 3 pages : modification1 2 et 3
voici les code de chacune de mes pages.


modification1.php

Code : Tout sélectionner

//requête SQL: $sql = "SELECT * FROM essai ORDER BY nom" ; //exécution de la requête: $requete = mysql_query( $sql, $cnx ) ; //affichage des données: while( $result = mysql_fetch_object( $requete ) ) { echo("<div align=\"center\">".$result->nom." ".$result->prenom." <a href=\"modification2.php?idEssai=".$result->id_essai."\">modifier</a><br>\n") ; } ?>

modifiaction2.php

Code : Tout sélectionner

//récupération de la variable d'URL, //qui va nous permettre de savoir quel enregistrement modifier $id = $_GET["idEssai"] ; //requête SQL: $sql = "SELECT * FROM essai WHERE id_essai = ".$id ; //exécution de la requête: $requete = mysql_query( $sql, $cnx ) ; //affichage des données: if( $result = mysql_fetch_object( $requete ) ) { ?> <form name="insertion" action="modification3.php" method="POST"> <input type="hidden" name="id" value="<?php echo($id) ;?>"> <table border="0" align="center" cellspacing="2" cellpadding="2"> <tr align="center"> <td>nom</td> <td><input type="text" name="nom" value="<?php echo($result->nom) ;?>">.........

modification3.php

Code : Tout sélectionner

//récupération des valeurs des champs: //nom: $nom = $_POST["nom"] ; //prenom: $prenom = $_POST["prenom"] ; //adresse: $adresse = $_POST["adresse"] ; //code postal: $cp = $_POST["codePostal"] ; //numéro de téléphone: $tel = $_POST["telephone"] ; //récupération de l'identifiant de la personne: $id = $_POST["id"] ; //création de la requête SQL: $sql = "UPDATE essai SET nom = '$nom', prenom = '$prenom', adresse = '$adresse', cp = '$cp', telephone = '$tel' WHERE id_essai = '$id' " ; //exécution de la requête SQL: $requete = mysql_query($sql, $cnx) or die( mysql_error() ) ; //affichage des résultats, pour savoir si la modification a marchée: if($requete) { echo("La modification à été correctement effectuée") ; } else { echo("La modification à échouée") ; } ?>

pour modification 1 pas de pb j'ai bien se que je veux. l'affichage des nom prenom et le lien modifier.
le pb est que quand je clique sur mon lien modifier (je passe bien sur la page modification2) j'ai un message d'erreur qui me dit que j'ai une erreur a la ligne 24 " if( $result = mysql_fetch_object( $requete ) )"

avez vous une idée d'ou provien l'erreur ?

Eléphant du PHP | 413 Messages

16 juin 2006, 17:10

salut,

peut-être que $cnx n'est pas défini (par mysql_connect).
en tous cas dans les portions de code que tu as montrées, $cnx n'est pas défini.
--
Goeb

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

16 juin 2006, 17:13

Peux tu nous donner le message d'erreur complet ?

A première vu il n'y a pas d'erreur au niveau de ton code... afficher le $sql dans ta page modifiaction2.php (et joue le éventuellement dans mysql) pour vérifier qu'elle est cohérente. Tu peux également ajouter un or die(mysql_error()) après ton mysql_query pour voir si tu n'as pas eu d'erreur sql...

$cnx est elle bien renseignée pour cette page ?

fabrice88
Invité n'ayant pas de compte PHPfrance

16 juin 2006, 17:37

le message d'erreur est le suivant :

Warning: mysql_fetch_object(): supplied argument is not a valid MySQL result resource in D:\inetpub\vhosts\OT-REMIREMONT.FR\httpdocs\admin\modification2.php on line 26

qui corespond a
if( $result = mysql_fetch_object( $requete ) )

Eléphanteau du PHP | 14 Messages

16 juin 2006, 17:49

j'ai modifié ma requaete

$requete = mysql_query( $sql, $cnx ) or die(mysql_error());

j'ai plus l'erreur a la ligne 26 mais :
You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 3

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

16 juin 2006, 17:49

Cela signifie que $requete n'est pas une ressource mysql valide pour pouvoir la passer en paramètre de la fonction mysql_fetch_object() .

Tu dois donc avoir une erreur lors de l'instruction :
$requete = mysql_query( $sql, $cnx ) ; 
Ajoute le or die et contrôle ta requête... jette également un oeil du côté de cnx :)

Eléphanteau du PHP | 14 Messages

16 juin 2006, 17:54

pour le cnx c bon il est bien declaré.
$cnx = mysql_connect('*******', '*****', '******');

comment je controle la requete ?

fabrice8 8
Invité n'ayant pas de compte PHPfrance

16 juin 2006, 23:47

bon sa fonctionne toujours pas.
si quelqu'un a une idée je suis preneur.
sinon il existe peut etre des pages toutes faites sur internet que je pourrais reprendre pour les adapté a mon site. ?