Page 1 sur 1

probleme update php

Posté : 27 avr. 2009, 11:00
par stefanelle
Bonjour,

voila j ai un script qui me permet d'afficher une liste deroulante dans laqelle sont affiche un des champs de ma table je selectionne mon champ et la il s'affiche deux autres champs de ma table modifiable grace a un update.

tout fonctionne bien sauf au niveau de mon update ou il n'arrive pas à récucpérer la valeur de la variable $riders voila ce qu il m indique quand je valide l'update

UPDATE general SET pos='25', points='1' WHERE riders=''Modification OK

je ne comprends pas

merci de votre aide

voici le code :

Code : Tout sélectionner

<?php define('DB_SERVER', 'localhost'); // serveur mysql define('DB_SERVER_USERNAME', 'root'); // nom d'utilisateur define('DB_SERVER_PASSWORD', ''); // mot de passe define('DB_DATABASE', 'classement'); // nom de la base $connect = mysql_connect(DB_SERVER, DB_SERVER_USERNAME, DB_SERVER_PASSWORD) or die('Impossible de se connecter : ' . mysql_error()); // sélection de la base de données mysql_select_db(DB_DATABASE, $connect); $rq = "SELECT DISTINCT riders FROM general ORDER BY riders"; $result = mysql_query($rq) or die ("Exécution de la requête impossible"); echo "<form action='modif_classement.php' method='post'><select name='riders'>"; while ($liste=mysql_fetch_array($result)) { extract($liste); echo "<option value='$riders'>$riders\n"; } echo "</select>\n"; echo "<input type='submit'"."value='Go'></form>\n"; $riders=$_POST['riders']; if(isset($_POST['riders'])) { $sql = "SELECT pos, pays, riders, teams, points FROM general WHERE riders='".$_POST['riders']."'" ; $req = mysql_query($sql) or die( mysql_error() ) ; $total = mysql_num_rows($req); { echo '<form method ="post" action="modif_classement.php">'; echo '<table>'."\n"; echo '<tr>'; echo '<th ><b><u>RIDERS.</u></b></th>'; echo '<th ><b><u>POS.</u></b></th>'; echo '<th><b><u>POINTS</u></b></th>'; echo '</tr>'."\n"; while($row = mysql_fetch_array($req)) { echo '<tr>'; echo '<td>'.$riders.'</td>'; echo '<td><input type="text" name="pos" value="'.$row["pos"].'"/></td>'; echo '<td><input type="text" name="points" value="'.$row["points"].'"/></td>'; echo '</tr>'."\n"; } echo '</table>'."\n"; echo '<input type="hidden" name="riders2" value="'.$_POST['riders'].'" /><br><center><input type="submit" name="ok" value="Modifier"/></center>'; echo '</form>'; } } if (isset($_POST['ok'])) { echo $sql2= "UPDATE general SET pos='".$_POST['pos']."', points='".$_POST['points']."' WHERE riders='$riders'"; $req2= mysql_query($sql2) or die('Erreur SQL !'.$sql2.'<br>'.mysql_error()); } if(isset($req2)) { echo ("Modification OK") ; echo '<td>'.$riders.'</td>'; } ?>

Posté : 27 avr. 2009, 11:04
par sylvaing26
 if(isset($req2)) 
       { 
            echo ("Modification OK") ;
           echo '<td>'.$riders.'</td>'; 
       } 
Pourquoi as tu mis
echo ("Modification OK") ; 
et pas
echo "Modification OK"; 

Posté : 27 avr. 2009, 11:12
par stefanelle
c'est vrai c'est mieux sans les parenthèses mais mon problème est toujours le même :(

Posté : 27 avr. 2009, 11:15
par sylvaing26
if (isset($_POST['ok'])) 
    
       { 

       echo  $sql2= "UPDATE general SET pos='".$_POST['pos']."', points='".$_POST['points']."' 
         WHERE riders='$riders'"; 
         $req2= mysql_query($sql2) or die('Erreur SQL !'.$sql2.'<br>'.mysql_error()); 
       } 
Pourquoi un echo avant ton $sql2 ?? C'est ce echo là qu'il t'indique sur ta page

Posté : 27 avr. 2009, 11:20
par stefanelle
oui effectivement j'ai mis un echo devant mon $sql2 pour afficher la requete et c'est là que je me suis rendu compte que $riders n'était pas pris en compte ...

Posté : 27 avr. 2009, 11:32
par sylvaing26
et $riders est bien obtenu en $_POST['riders'] ?
si tu remplace $riders par $_POST['riders'] ca ne marche toujours pas ?

Posté : 27 avr. 2009, 11:41
par stefanelle
je veins de trouver il fallait mettre riders2 au lieu de riders .... merci de ton aide sylvain

Posté : 27 avr. 2009, 11:57
par sylvaing26
Masi ya pas de quoi :wink:

Posté : 27 avr. 2009, 11:58
par albat
Modération :
stefanelle, si ta question est résolue, pense à ajouter le tag [Résolu]
pour indiquer aux personnes qui voudront consulter ce sujet qu'il contient une solution.
Tu peux réaliser cette opération en cliquant sur le bouton Image en haut à gauche de ce sujet.