Probleme UPDATE PHP/SQL

Fermé
wifi - 27 avril 2009 à 08:02
 Borracho - 27 avril 2009 à 09:16
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 :

<?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>';
}

?>
A voir également:

3 réponses

Bonjour,

if (isset($_POST['ok']))
{
mysql_query("
UPDATE general
SET pos='".$_POST['pos']."',
points='".$_POST['points']."'
WHERE riders='".$_POST['riders']."'
")
or die('Erreur SQL !<br>'.mysql_error());
}
<--- A ce moment la, les champs sql sont modifiés.

PS: si tu veux met la requete dans une variable pour la remettre dans le die() ;-)
0
Mercid e ta réponse je viens de tester ça ne fonctionne po :-( quand je clique sur modifier rien ne se passe pas de modification ok ....
0
essaye comme ca:

while ($liste=mysql_fetch_array($result))
{
extract($liste);
echo '<option value="'.$rider.'">'.$rider.'</option>';
}
echo '</select><br />';
echo '<input type="submit" "value="Go"></form>';
$riders=$_POST['riders'];

if(isset($_POST['Go'], $_POST['riders']))
{
etc...


De meme pour le soucis ed l'affichage de "
UPDATE general SET pos='25', points='1' WHERE riders=''Modification OK " ca vient du fait que tu fais un echo de ta requete --->
echo $sql2= "UPDATE general SET pos='".$_POST['pos']."', points='".$_POST['points']."'
WHERE riders='$riders'"; 
0