Problème récupération de données

Résolu
Alan35000 Messages postés 17 Date d'inscription   Statut Membre Dernière intervention   -  
Alan35000 Messages postés 17 Date d'inscription   Statut Membre Dernière intervention   -
Bonsoir à tous, je rencontre un soucis sur une récupération de données MYSQL.

J'ai un forum ou l'on peut signaler des messages, et là j'en suis dans la partie administration qui permet la gestion de ceux-ci.

Les données s'affichent correctement dans ma boucle while, mais au moment du traitement, ce n'est pas la ligne que je souhaiterais traiter qui est affectée.

Je souhaiterais update le champ 'actif' et 'admin' de la ligne concernée selon l'id du signalement mais mon script agit sur le premier id de la table qu'il va trouver.




if(isset($_POST['rien_faire'])) // classer sans suites
               {
               $sql = $bdd->prepare('UPDATE messages_signales SET actif = :actif, admin = :admin WHERE id = :id');
                    $sql->execute(array('actif' => 1, 
                                        'admin' => $_SESSION['pseudo'],
                                        'id' => $_POST['id']));
                        $sql->closeCursor();
                    echo 'Ce signalement à été classé et sera visible dans les signalements abus.';
               }

               include('bbcode.php');

               $req = $bdd->prepare('SELECT * FROM messages_signales WHERE actif = 0 ORDER BY id DESC');
                   $req->execute(array($compte_signaler['id']));

                echo '<hr><div class="titre_convers">Signalements en attente de traitement.</div><hr>';    
                echo '<table>';
                echo '<form method="POST" action="">';
                    $counter = 0;
                while($compte_signaler = $req->fetch()) {
                    $counter++;
                echo '<tr><td> <i><font color="#003E86"><strong>Signalement N° '.$counter.'</strong></font></i></td></tr>';
                echo '<tr>';
                echo '<td class="titre_tableau_eco_nombre_heure">  Joueur signalé</td>';
                echo '<td class="titre_tableau_eco_nombre_heure">  Signalé par</td>';
                echo '<td class="titre_tableau_eco_nombre_heure">  Provenance</td>';
                echo '</tr>';
                echo '<tr>';
                echo '<td class="disp_niveau"> <font color="#003E86"><strong> => </strong></font> '. htmlspecialchars($compte_signaler['id']) .': '. htmlspecialchars($compte_signaler['pseudo_signale']) .'</td>';
                echo '<td class="disp_niveau"> <font color="#003E86"><strong> => </strong></font> '. htmlspecialchars($compte_signaler['pseudo_signaleur']) .'</td>';
                echo '<td class="disp_niveau"> <font color="#003E86"><strong> => </strong></font> '. htmlspecialchars($compte_signaler['provenance']) .'</td>';
                echo '</tr><tr>';
                echo '<td colspan="3" class="disp_niveau"> <font color="#003E86"><strong>Sujet => </strong></font> '. htmlspecialchars($compte_signaler['sujet']) .'</td>';
                echo '</tr><tr>';
                echo '<td colspan="3" class="disp_niveau"> <font color="#003E86"><strong>Message => </strong></font> '. code(htmlspecialchars($compte_signaler['message'])) .'</td>'; 
                echo '</tr>';
            ?>
                <tr>
                <td colspan="3" align="right">
                <?php echo '<input type="hidden" name="id" value="'.$compte_signaler['id'].'" />'; ?>
                <input class='btn_supp_compte' type="submit" name="rien_faire" value="Ne rien faire (classer)" />
                <input class='btn_raz' type="submit" name="" value="Supprimer et avertir" />
                <input class='btn_histo' type="submit" name="" value="Avertir signalement abus" /></td>
                </tr>
                
                <tr>
                <td colspan="3" align="center"><hr></td>
                </tr>
            <?php   
                }$req->closeCursor(); 
                echo '</form>';            
                echo '</table>';
            ?>


Pourtant à l'affichage l'id est bien affiché selon le signalemen.

Dans l'attente d'une aide, je vous remercie.

Cdlt,Alan.


EDIT : Ajout du LANGAGE dans les balises de code !

1 réponse

jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 
Bonjour,
Ajoute donc un
print_r($_POST);
au début de ton code ... et regarde ce qu'il te retourne.....

là... ton code.... créé dans 1 FORM .... x champs hidden de même nom ... normal que ton script ne fonctionne pas comme tu le souhaites....
A la limite... mets tes balises FORM DANS ta boucle WHILE et attribues à tes champs input des "noms" différents (en te servant de ta variable $counter par exemple)

0
Alan35000 Messages postés 17 Date d'inscription   Statut Membre Dernière intervention   3
 
Super merci bien pour cette réponse,j'avais résolu le soucis avant ton intervention.

J'ai sorti le champ de type hidden du php, et placé la variable id dans le value dans du php :)

merci bien je place en résolu :)
0