Partage
  • Partager sur Facebook
  • Partager sur Twitter

Update dans une boucle

    27 novembre 2005 à 22:11:57

    Bonjour,

    J'ai une boucle for qui affiche le profil des membres de mon forum. J'aimerais bien pouvoir modifier les informations des membres, mais ça foire. Eh oui :p

    Voici le code

            mysql_connect('localhost', 'root', '');
            mysql_select_db('fraineuxwisiki');
           
            $reponse_nbe = mysql_query('SELECT COUNT(*) AS nbres_entrees FROM forum_users');
            $donnees_nbe = mysql_fetch_array($reponse_nbe);
           
            $nbe = $donnees_nbe['nbres_entrees'];
           
            for ($i = 1; $i <= $nbe; $i++)
            {       $reponse = mysql_query('SELECT * FROM forum_users WHERE usr_id=\''. $i .'\'');
                    while($donnees = mysql_fetch_array($reponse))
                    {       $pseudo        = $donnees['usr_name'];
                            $xp          = $donnees['usr_xp'] + $donnees['usr_nbmess'];
                            $or          = $donnees['usr_or'];
                            $rang   = $donnees['usr_rang'];
                            if (!empty ($donnees['usr_avatar']))
                                    $avatar = "<img src=\"". $donnees['usr_avatar'] ."\" />";
                            else
                                    $avatar = '<p>Pas d\'avatar</p>';
                           
                            echo    '<div class="fiche">
                                             <form action="?mdf=oui" method="post"><table>
                                                    <caption>
                                                            Pseudo : <i>'
    . $pseudo .'</i>
                                                    </caption>
                                                    <tr>
                                                            <td><div class="fiche_avatar">
                                                                  '
    . $avatar .'
                                                                    </div>
                                                            </td>
                                                    </tr>
                                                    <tr class="field1">
                                                            <td>Rang :</td>
                                                            <td><input type="text" name="rang" value="'
    . $rang .'" size="14"/></td>
                                                    </tr>
                                                    <tr class="field1">
                                                            <td>Xp :</td>
                                                            <td>'
    . $xp .' + <input type="text" name="xp" value="0" size="10"/></td>
                                                    </tr>
                                                    <tr class="field1">
                                                            <td>Or :</td>
                                                            <td>'
    . $or .' + <input type="text" name="or" value="0" size="10"/></td>
                                                    </tr>
                                                    <tr>
                                                            <td><input type="hidden" name="id" value="'
    . $i .'" />
                                                                    <input type="submit" value="Modifier les informations">
                                                            </td>
                                                            <td><input type="reset" value="Valeurs par défaut">
                                                            </td>
                                                    </tr>
                                             </table></form>
                                             </div>
                                            '
    ;
                    }
            }
            if (isset($_GET['mdf']))
            {       $rang_mdf = htmlentities($_POST['rang']);
                    $xp_mdf = htmlentities($_POST['xp']);
                    $or_mdf = htmlentities($_POST['or']);
                    $xp_fin = $xp_mdf + $xp;
                   
                    mysql_query("UPDATE `forum_users` SET `usr_rang`= '". $rang_mdf ."', `usr_xp` = '". $xp_fin ."', `usr_or` = '". $or_mdf ."' WHERE `usr_id `= ". $i);
                   
                    echo 'Modifications effectuées avec succès';
            }


    Je n'ai aucun parse error, et il me met : Modifications effectuées avec succès. Alors je sais pas très bien ce que je dois faire... :o

    Merci.
    • Partager sur Facebook
    • Partager sur Twitter
      28 novembre 2005 à 1:19:36

      si je comprends bien, tu n'as aucune erreur, mais aucune modification non plus ?

      vérifie la structure de ta table, fais une insertion manuelle des données voulues avec PHPMyAdmin, voire si c'est ton code qui plante, ou bien si c'est la structure... (ou bien tu essaye par exemple de placer 20 caractères dans un VARCHAR(19), peut être !)
      • Partager sur Facebook
      • Partager sur Twitter
        28 novembre 2005 à 1:33:40

        Pour suivre l'idée précédente, tu peux faire des echo de tes requêtes, et les tester dans phpMyAdmin...
        autre chose, je te conseille de mettre à la fin de tes requêtes:
        mysql_query("UPDATE `forum_users` SET `usr_rang`= '". $rang_mdf ."', `usr_xp` = '". $xp_fin ."', `usr_or` = '". $or_mdf ."' WHERE `usr_id `= ". $i) or die(mysql_error());
        • Partager sur Facebook
        • Partager sur Twitter
          28 novembre 2005 à 16:21:42

          Exactement, aucune erreur, il m'affiche même le msg qui dit : "Modifications effectuées avec succès." Alors moi je suis un peu pômer, je sais pas ce qui foire au niveau de mes boucles. L'id sûrement ?
          • Partager sur Facebook
          • Partager sur Twitter

          Update dans une boucle

          × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
          × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
          • Editeur
          • Markdown