bonjour,

j'ai un souci avec UPDATE
rien ne se passe comme si le script etait ignoré.

requete php:

<?php
 if(isset($_POST) && !empty($_POST'pseudo']) && !empty($_POST'userp'])){
        $pseudo = $_POST'pseudo'];
        $userp = $_POST'userp'];
        mysql_connect(DB_SERVEUR,DB_LOGIN,DB_PASS);
        mysql_select_db(DB_BDD);
        $recupdonne = "SELECT points FROM users WHERE pseudo='$pseudo'";
        $execute = mysql_query($recupdonne) or die (mysql_error());
        $datap = mysql_fetch_array($execute);
        mysql_query("UPDATE users SET points='$points+$userp' WHERE pseudo='$pseudo'"); 

 $addpok = 'mise a jour des points OK<br><input type="button" value="Fermer" onClick="window.close()"> ';
    }
    else{

$erreurnoadd = 'veuillez indiquez le nombre de points a ajouter!';

        }

?>

et voila le formulaire.

<!doctype html><html lang="fr"><head><meta charset="utf-8"><body><head></head>
Ajout de points
<?php
    mysql_connect(DB_SERVEUR,DB_LOGIN,DB_PASS);
    mysql_select_db(DB_BDD);
    $users = "SELECT pseudo,points FROM users";
    $result = mysql_query($users) or die(mysql_error()); 
    $data = mysql_fetch_field($result);
?>
    <br><center>
    <form action="addpform.php" method="post"><table width="556" height="200" border="0">
  <tr>
    <td width="271">

 selectionnez un utilisateur :</td><td width="269">
 <select>
 <option value="">selectionnez un membre</option>
 <?php

    while($data = mysql_fetch_array($result)){
?>
 <option value="pseudo"><?php echo $data'pseudo']?></option>
<?php
}
?>
    </select></td></tr>
 <td>
 Points a ajouter : </td>
 <td><input type="texte" name="userp"></td>
  </tr>
  <tr>
 <td>
  </td>
 <td></td>
  </tr>
 <tr><td>
 </td><td><input type="submit" name="ajouter" value="Ajouter"></td></tr>
 </form></table></center>
 <br><?php 
 if(isset($addpok)){
 $addpok;
 }
 if(isset($erreurnoadd)){
 $erreurnoadd;
 }
 ?>
</body>
</html>

merci tous de votre aide

3 réponses


corsinu
Auteur
Réponse acceptée

j'ai resolu mon probleme en faite le script ne recoperais pas la variable du select->option-> pseudo se qui emppechais la recuperation des points dans la requête SELECT après vérification du formulaire

j'ai ajouté un champ input (recopiez le pseudo du membre a modifier choisi sur la liste)

voici le echo de ma requete

UPDATE users SET points='50'+23' WHERE pseudo='mon_pseudo'

voir les code modifier

script php

<?php
 if(isset($_POST) && !empty($_POST'pseudo']) && !empty($_POST'useraddp'])){
        $pseudo = $_POST'pseudo'];
        $useraddp = $_POST'useraddp'];
        mysql_connect(DB_SERVEUR,DB_LOGIN,DB_PASS);
        mysql_select_db(DB_BDD);
        $recupdonne = "SELECT points FROM users WHERE pseudo='$pseudo'";
        $execute = mysql_query($recupdonne) or die (mysql_error());
        $datap = mysql_fetch_assoc($execute);
        $userp = $datap'points'];
        echo "UPDATE users SET points='$userp'+$useraddp' WHERE pseudo='$pseudo'"; 

 $addpok = 'mise a jour des points OK<br><input type="button" value="Fermer" onClick="window.close()"> ';
    }
    else{

$erreurnoadd = 'veuillez indiquez le nombre de points a ajouter!';

        }

?>

<?php

    mysql_connect(DB_SERVEUR,DB_LOGIN,DB_PASS);
    mysql_select_db(DB_BDD);
    $users = "SELECT pseudo FROM users ";
    $result = mysql_query($users) or die(mysql_error()); 
    $data = mysql_fetch_field($result);
?>
    <br><center>
    <form action="addpform.php" method="post"><table width="556" height="200" border="0">
  <tr>
    <td width="271">

liste des membre :</td><td width="269">
 <select>

 <?php

    while($data = mysql_fetch_array($result)){
?>
 <option value='<?php $data'pseudo'] ?>'><?php echo $data'pseudo'] ?></option>
<?php
}
?>
    </select></td>
    </tr>
        <tr>
 <td>Recopiez le pseudo du membre a modifier
  </td>
  </tr>
  <tr>
 <td><input type="texte" name="pseudo">
  </td>
  </tr>
 <td>
 Points a ajouter : </td>
 <td><input type="texte" name="useraddp"></td>
  </tr>
  <tr>
 <td>
  </td>
 <td></td>
  </tr>
 <tr><td>
 </td><td><input type="submit" name="ajouter" value="Ajouter"></td></tr>
 </form></table></center>
 <br><?php 
 if(isset($addpok)){
 $addpok;
 }
 if(isset($erreur)){
    echo $erreur;
}
 if(isset($erreurnoadd)){
 $erreurnoadd;
 }
 ?>
</body>
</html>

Bonjour, je dis peut être une betise (je me souviens plus trop de la syntaxe avec mysql_query ) mais d'ou sort la variable $points?? :

mysql_query("UPDATE users SET points='$points+$userp' WHERE pseudo='$pseudo'");
corsinu
Auteur

apres verification du formulaire je lance une requete pour recuperer le nombre de points que le membre selectionné a deja
et je lance le update en ajoutant les point entré dans le formulaire au points deja present sur la bdd du pseudo selectionné sur le formulaire

mais les variable $points et $pseudo sont vide seul la variable $userp est bien afficher j'ai modifier le code car ce n'etait pas $points mais $datap (mais toujours meme probleme)

mysql_connect(DB_SERVEUR,DB_LOGIN,DB_PASS);
        mysql_select_db(DB_BDD);
        $recupdonne = "SELECT points FROM users WHERE pseudo='$pseudo'";
        $execute = mysql_query($recupdonne) or die (mysql_error());
        $datap = mysql_fetch_array($execute);
        echo "UPDATE users SET points='$datap'+$userp' WHERE pseudo='$pseudo'";

<?php

    mysql_connect(DB_SERVEUR,DB_LOGIN,DB_PASS);
    mysql_select_db(DB_BDD);
    $users = "SELECT pseudo FROM users ";
    $result = mysql_query($users) or die(mysql_error()); 
    $data = mysql_fetch_field($result);
?>
    <br><center>
    <form action="addpform.php" method="post"><table width="556" height="200" border="0">
  <tr>
    <td width="271">

 selectionnez un utilisateur :</td><td width="269">
 <select>
 <option value="">selectionnez un membre</option>
 <?php

    while($data = mysql_fetch_array($result)){
?>
 <option name='pseudo' ><?php echo $data'pseudo']?></option>
<?php
}
?>
    </select></td>
    </tr>
 <td>
 Points a ajouter : </td>
 <td><input type="texte" name="userp"></td>
  </tr>
  <tr>
 <td>
  </td>
 <td></td>
  </tr>
 <tr><td>
 </td><td><input type="submit" name="ajouter" value="Ajouter"></td></tr>
 </form></table></center>
 <br>