Page 1 sur 2

envoi de modification dans base de données

Posté : 18 avr. 2005, 21:48
par cho7
J'ai créé ma page qui envoi dans la base de données

ca ressemble a cela :

:D <?
include "connexion.inc";

$Rs="update joueur set nom_joueur='nom_joueur', age_joueur='age_joueur', photo_joueur='photo_joueur' where num_joueur='numj'";

mysql_query($Rs,$bd);

header("Location: cxjoueur.php");
?> :D

Ca ne fonctionne po le header me renvoi la où j'indique, je n'ai po de mess d'erreur mais ca ne modifie po dans la BD

Merci

Re: envoi de modification dans base de données

Posté : 18 avr. 2005, 21:52
par albat
Try this !
$rs = "UPDATE joueur SET nom_joueur='".$nom_joueur."', age_joueur=".$age_joueur.", photo_joueur='".$photo_joueur."' WHERE num_joueur=".$numj;

Re: envoi de modification dans base de données

Posté : 18 avr. 2005, 21:55
par ImBrOgLiO
$Rs="update joueur set nom_joueur='nom_joueur', age_joueur='age_joueur', photo_joueur='photo_joueur' where num_joueur='numj'";
Vérifie ta requête. D'ou proviennet tes variables? Essaie plutôt:
nom_joueur='".$nom_joueur."'
etc...

Posté : 18 avr. 2005, 21:56
par ImBrOgLiO
Encore ce foutu décalage horaire! Battue au fil! :wink:

Posté : 18 avr. 2005, 21:57
par ImBrOgLiO
On dirait qu'il y'en a qui squattent ici! Ils ont toujours une longueur d'avance...Toujours les mêmes! :lol:

Posté : 18 avr. 2005, 22:01
par albat
Damned, je suis démasqué ! :shock:

J'avoue...
Je dors dans la salle machines, juste à côté de la baie où est installé le serveur de PHPFrance. :lol:

Posté : 18 avr. 2005, 22:08
par Z3lg4dis
ca ne marche po si je met cela ca me met cette erreur :

Notice: Undefined variable: nom_joueur in k:\ad&d requiem\envmodifjoueur.php on line 4

Notice: Undefined variable: age_joueur in k:\ad&d requiem\envmodifjoueur.php on line 4

Notice: Undefined variable: photo_joueur in k:\ad&d requiem\envmodifjoueur.php on line 4

Warning: Cannot modify header information - headers already sent by (output started at k:\ad&d requiem\envmodifjoueur.php:4) in k:\ad&d requiem\envmodifjoueur.php on line 8

Mes variable viennent de ma page de mdification je leur ai donné le meme nom que dans ma BD c plu simple je trouve

merci bien

Posté : 18 avr. 2005, 22:09
par ImBrOgLiO
Bon...salle des machines...serveur PHPFrance...Dernier crash du serveur...Le lien est tentant...On détient un suspect...Allez hop! En garde à vue! :lol:

Posté : 18 avr. 2005, 22:11
par ImBrOgLiO
Si tu as recopié textuellement la requête qu'Albat t'a donné, assure-toi d'avoir modifié $rs pour $Rs.

Posté : 18 avr. 2005, 22:15
par cho7
Ca ne fonctionne po

mes variable viennent de ma page où je rentre mes modif

mon code pour les modif ressemble a ca :

:D <?
$Rs=mysql_query("SELECT * FROM `joueur` WHERE num_joueur='".$_GET['numj']."'" );
while($Tab = mysql_fetch_array($Rs)) {
?>
<form action="envmodifjoueur.php" name="modifjoueur" method="post">
<input type="hidden" name="numj" value="<?=$numj;?>">
<table border="0" width="100%">
<tr>
<td align="left" width="230"><span class="ttre">Nom du joueur :</span></td>
<td align="center" bgcolor="black"><input type="text" name="nom_joueur" size="100%" value="<?=$Tab["nom_joueur"];?>"></td>
</tr>
</table>
<table border="0" width="100%">
<tr>
<td align="left" width="230"><span class="ttre">Age du joueur :</span></td>
<td align="center" bgcolor="black"><input type="text" name="age_joueur" size="100%" value="<?=$Tab["age_joueur"];?>"></td>
</tr>
</table>
<table border="0" width="100%">
<tr>
<td align="left" width="230"><span class="ttre">Photo du joueur :</span></td>
<td align="center" bgcolor="black"><input type="text" name="photo_joueur" size="100%" value="<?=$Tab["photo_joueur"];?>"></td>
</tr>
</table>
<?}?> :D

Posté : 18 avr. 2005, 22:18
par ImBrOgLiO
Comment tu récupères tes variables qui proviennent de ta page de modification?

Posté : 18 avr. 2005, 22:21
par ImBrOgLiO
En passant, cette formulation est à proscrire:
<?=$numj;?>
Modifier pour:
<?php echo $numj; ?>

Posté : 18 avr. 2005, 22:24
par cho7
j'utilise un form

:D <form action="envmodifjoueur.php" name="modifjoueur" method="post">
:D

Posté : 18 avr. 2005, 22:25
par albat
Petits conseils :
1. écrire ses variables en minuscules (dont $rs, et non $Rs)
2. Ne pas s'encombrer de ponctuations superflues (apostrophes sur les noms de table)
3. Séparer la définition de la requête SQL et son exécution.
4. Vérifier si les vcariables que l'on utilise sont bien définies ($_GET['numj'])
5. Simplifier au maximum les écritures
$num_joueur = (isset($_GET['numj']) ? $_GET['numj'] : 0);
$rs = "SELECT * FROM joueur WHERE num_joueur=".$num_joueur; 
$resultat = mysql_query($rs) or die(); 

Posté : 18 avr. 2005, 22:28
par ImBrOgLiO
j'utilise un form <form action="envmodifjoueur.php" name="modifjoueur" method="post">
Ça c'est comment tu les envoies...je t'ai demandé comment tu les récupérais?

Bref, comme il s'agit d'un "post", utilise plutôt $_POST au lieu de $_GET dans les commentaires d'Albat.