modifier des données sql

Mammouth du PHP | 19672 Messages

01 août 2005, 16:35

Quand je dis faire afficher la requête, j'entends par là mettre ta requête avec les variables dans un echo() et récupérer ce que ça affiche à l'écran quand tu exécutes la page. Tu copies le résultats et tu l'exécutes directement à la main dans ton client MySQL : et là tu vois le résultat.
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Eléphant du PHP | 55 Messages

01 août 2005, 16:38

Ah oki, merci bien cyrano :) Je vais le faire de ce pas ^^ Au passage, tu ne connaitrais pas un petit tuto qui explique les systèmes de protection, avec login et mot de passe? Certains articles ont été supprimés pendant mon absence... :|

Mammouth du PHP | 19672 Messages

01 août 2005, 16:44

Pour les tutos sur les identifications, en fait je ne vois pas immédiatement sur le net, je ne m'en suis jamais servi parce que j,avais ca dans des bouquins.

Mais tu peux chercher sur les sites de scripts et en trouver quelques uns à décortiquer.
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Modérateur PHPfrance
Modérateur PHPfrance | 6037 Messages

01 août 2005, 16:48

Certains articles ont été supprimés pendant mon absence... :|
C'est intolérable :lol:

Eléphant du PHP | 55 Messages

01 août 2005, 16:54

Oui j'ai tenté de décortiquer celui de mon script de news, mais c'était un peu compliqué... :|
Merci pour les conseils Cyrano ;)

Eléphant du PHP | 55 Messages

02 août 2005, 15:01

C'est bon j'ai trouvé l'erreur... En fait il modifiait bien, mais dans le vide. En effet, je l'envoyais vers ?mode=editer, mais j'avais pas spécifié l'id. Avec ?mode=editer&id=5, ca marche =)
Merci pour votre aide ;)

Petit nouveau ! | 1 Messages

02 août 2005, 22:06

Fais afficher la requête générée et si elle a l'air correcte, essaye de l'exécuter directement dans phpMyAdmin. S'il y a une rreur, tu auras le message correspondant.
Bonjour tlm :P
et merci bc à "Cyrano" cette astuce m'a bien aidé j'avait a l'origine le même type de pb que "Ðjehouty" mes requettes pour modif ma table ne fonctionnais pas, je faisais en fait des confusions entre " " et ' ' :?
Tu as mis fin a mon calvers je commençais a péter un cable a force de chercher la provenance de l'erreur ^^

Eléphant du PHP | 55 Messages

03 août 2005, 09:44

Va falloir songer à fonder un fan club de Cyrano ;)

Modérateur PHPfrance
Modérateur PHPfrance | 6373 Messages

03 août 2005, 11:11

Va falloir songer à fonder un fan club de Cyrano ;)
il y en a déjà un, c'est zeus le président, et les membres doivent arborer un gros nez en bois...

Mammouth du PHP | 19672 Messages

03 août 2005, 11:51

:langue:
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Eléphant du PHP | 55 Messages

03 août 2005, 15:55

lol :D
Juste un dernière question: quand je fais modifier, le texte qui apparaît dans l'input comporte pleins de <br /> lorsque le texte va à la ligne. Comment puis-je les supprimer? :?

taz1
Invité n'ayant pas de compte PHPfrance

17 août 2005, 17:02

C'est bon j'ai trouvé l'erreur... En fait il modifiait bien, mais dans le vide. En effet, je l'envoyais vers ?mode=editer, mais j'avais pas spécifié l'id. Avec ?mode=editer&id=5, ca marche =)
Merci pour votre aide ;)
tu arriverais a me montrer ton code car moi j'essaie depuis 2 jours et aucun resultat grrrrrrrrrr.
je recupere les infos a modifier dans un formulaire

Code : Tout sélectionner

// recureration des valeurs $id = intval( $_GET['id'] ); // connexion à la base $db = mysql_connect('xxxxx') or die('Erreur de connexion '.mysql_error()); // sélection de la base mysql_select_db('hcflch3',$db) or die('Erreur de selection '.mysql_error()); $res='SELECT Url_photo,Num_maillot,Nom,Prenom,D_naiss,Hobby,Depuis,Ou_av,Position FROM fiche WHERE id = ' . $id; $result = mysql_query($res) or die(mysql_error()); $row=mysql_fetch_assoc($result); ?> <form id="FormName" action="modif.php" method="POST" name="FormName"> <table> <tr> <td><label>Nom:</label></td> <td><input type="text" name="Nom" value="<? echo $row['Nom']?>" size="24"/></td> </tr> <tr> <td><label>Prenom:</label></td> <td><input type="text" name="Prenom" value="<? echo $row['Prenom']?>"size="24"/></td> </tr> <td><label>Dates de Naissance:</label></td> <td><input type="text" name="D_naiss" value="<? echo $row['D_naiss']?>" size="24"/></td> </tr> <td><label>Hobby:</label></td> <td><input type="text" name="Hobby" value="<? echo $row['Hobby']?>" size="24"/></td> </tr> <td><label>Ancien club:</label></td> <td><input type="text" name="Ou_av" value="<? echo $row['Ou_av']?>" size="24"/></td> </tr> <td><label>Depuis:</label></td> <td><input type="text" name="Depuis" value="<? echo $row['Depuis']?>" size="24"/></td> </tr> <td><label>Numero:</label></td> <td><input type="text" name="Num_maillot" value="<? echo $row['Num_maillot']?>" size="24"/></td> </tr> <td><label>Url Photo:</label></td> <td><input type="text" name="Url_photo" value="<? echo $row['Url_photo']?>" size="24"/></td> </tr> <td><label>Position:</label></td> <td><input type="text" name="Position" value="<? echo $row['Position']?>" size="24"/></td> </tr> <tr> <td><input type="submit" name="submitButtonName"/></td> </tr> </table> <? mysql_close(); // on ferme la connexion ?>
et j'envoie tout ca sur un fichier "modif.php"

Code : Tout sélectionner

// connexion à la base $db = mysql_connect('xxxx') or die('Erreur de connexion '.mysql_error()); // sélection de la base mysql_select_db('hcflch3',$db) or die('Erreur de selection '.mysql_error()); $res='UPDATE fiche SET Url_photo="$Url_photo", Num_maillot="$Num_maillot", Nom="$Nom", Prenom="$Prenom", D_naiss="$D_naiss", Hobby="$Hobby", Ou_av="$Ou_av", Depuis="$Depuis", Position="$Position" WHERE id = ' . $id; mysql_query($res); echo 'Modification enregistrée'; mysql_close(); // on ferme la connexion ?>
mais ca ne me modifie pas les données
si ont pouvais m'aider se serais genial

Mammouth du PHP | 19672 Messages

17 août 2005, 17:11

Si tu avais suivi un conseil que j'ai mentionné plus haut, tu aurais vu que ta requête avait l'air bisarre en envoyant des variables telles quelles au lieu d'en envoyer la valeur.
saye donc comme ceci et regarde la différence d'écriture:
$res="UPDATE fiche SET Url_photo='". $Url_photo ."', Num_maillot='". $Num_maillot ."', Nom='". $Nom ."', Prenom='". $Prenom ."', D_naiss='". $D_naiss ."', Hobby='". $Hobby ."', Ou_av='". $Ou_av ."', Depuis='". $Depuis ."', Position='". $Position ."'  WHERE id = '". $id;
On appelle ça la concaténation de chaine. Je dois le dire entre 4 et 10 fois par jour sur le forum. Je suis maniaque avec ça, mais c'est la source de 80% des erreurs qui pourraient être évitées avec un minimum de rigueur dans la programmation.
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Invité
Invité n'ayant pas de compte PHPfrance

17 août 2005, 17:22

ou la la concatenation connais pas bien moi loll mais merci
par contre j'ai toujours un probléme j'ai fait un echo() de la requete comme tu l'a prescrit plus haut alors il me note comme quoi il fait les modif mais sur l'id 0 et je n'ai pas d'id 0 en fait il ne modifie pas la ligne en rapport avec l'id

taz1
Invité n'ayant pas de compte PHPfrance

17 août 2005, 17:24

et pourtant avant la connection j'ai mis
$id = intval( $_GET['id'] );