Requete SQL dans un tableau qui n'affiche que 1 ligne

Fermé
Mat - 14 juin 2022 à 21:22
jordane45 Messages postés 38241 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 septembre 2024 - 15 juin 2022 à 16:48
Bonjour ,

J'explique mon soucis , je souhaites pouvoir afficher une liste d'options appartenant a un logiciel , j'ai donc une table applioptions , je fais une requete pour afficher les options avec un id commun a chaque options pour ensuite les mettre dans un tableau. Jusque ici tout vas bien sauf que quand je souhaites afficher le résultat de ma requete , seul une ligne de tableau apparait avec une seule option de l'application ( alors qu'il y en a trois). Comment donc faire ? dans l'idéal je souhaiterai que chaque options a sa propre ligne.

<tr>
<td><?php $GESCOMOPTION = $bdd->prepare('SELECT IDApp,ID,NomOptions FROM optionsapplications WHERE IDApp="1" ');
$GESCOMOPTION->execute();
$resultat = $GESCOMOPTION->fetch();
echo $resultat['NomOptions'];
?>
</td>


Je précise que la connexion a la BDD est bien effectué , ici je fais donc ma requete pour chercher les options et je souhaiterai donc que une ligne soit affecter pour chaque option.

Pour finir , je ne veux pas appeler directement le nom de l'option et refaire un td pour chaque option car je souhaites pouvoir modifié les données du tableau directement dans phpmyadmin sans devoir repasser par le code c'est pour cela que je passes par l'id

Merci d'avance!




Configuration: Windows / Chrome 102.0.0.0
A voir également:

3 réponses

jordane45 Messages postés 38241 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 septembre 2024 4 689
14 juin 2022 à 21:38
Il faut mettre ton fetch dans une boucle
0
Re , j'ai mis un while dans mon programme , sauf que j'ai un message d'erreur , ou alors je le met pas au bonne endroit :/
<tbody>
        <tr>
            <td><?php $GESCOMOPTION = $bdd->prepare('SELECT IDApp,ID,NomOptions FROM optionsapplications WHERE IDApp="1" ');
        $GESCOMOPTION->execute();
        while($resultat = $GESCOMOPTION->fetch());
        echo $resultat['NomOptions'];
        ?>
        </td>
            <td>with two columns</td>
        </tr>
    </tbody>
</table>


EDIT : Correction des balises de code ( ajout du LANGAGE )

Parse error: syntax error, unexpected token "while" in C:\UniServerZ\www\barrederecherche.php on line 94
0
jordane45 Messages postés 38241 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 septembre 2024 4 689
15 juin 2022 à 10:40
Tu n'as surtout pas bien écrit ton while ...
while ( condition ) {
    //code a executer dans la boucle
  
} // fin du while
0
</thead>
    <tbody>
        <tr>
            <td><?php while ($GESCOMOPTION <2) {
        $GESCOMOPTION = $bdd->prepare('SELECT IDApp,ID,NomOptions FROM optionsapplications WHERE IDApp="1" ');
        $GESCOMOPTION->execute();
        $resultat = $GESCOMOPTION->fetch(PDO::FETCH_NUM);
        echo  $resultat;
            }
        
        ?></td>


EDIT : Correction des balises de code ( ajout du LANGAGE ) ... ENCORE !!

J'ai une boucle while ducoup mais j'ai deux erreurs en retour , je penses que mon while n'est pas au bonne endroit , mais si je le met apres la requête SQL le while servira plus a rien ?

les 2erreurs :
Attention : Variable non définie $GESCOMOPTION dans C:\UniServerZ\www\barrederecherche.php à la ligne 104

Attention : Conversion tableau en chaîne dans C:\UniServerZ\www\barrederecherche.php à la ligne 108
Array
0
jordane45 Messages postés 38241 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 septembre 2024 4 689
15 juin 2022 à 16:48
Nan.. mais... ta première écriture était plus proche du résultat souhaité que celle la ...

Donc
$GESCOMOPTION = $bdd->prepare('SELECT IDApp,ID,NomOptions FROM optionsapplications WHERE IDApp="1" ');
 $GESCOMOPTION->execute();

while($resultat = $GESCOMOPTION->fetch()) {
    echo $resultat['NomOptions'];
}
0