Page 1 sur 1

mise a jour des données

Posté : 16 juin 2006, 16:52
par fabrice88
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 ?

Posté : 16 juin 2006, 17:10
par goeb
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.

Posté : 16 juin 2006, 17:13
par Ryle
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 ?

Posté : 16 juin 2006, 17:37
par fabrice88
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 ) )

Posté : 16 juin 2006, 17:49
par fabrice88
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

Posté : 16 juin 2006, 17:49
par Ryle
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 :)

Posté : 16 juin 2006, 17:54
par fabrice88
pour le cnx c bon il est bien declaré.
$cnx = mysql_connect('*******', '*****', '******');

comment je controle la requete ?

Posté : 16 juin 2006, 23:47
par fabrice8 8
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. ?