Affichage des données

lolerki Messages postés 606 Date d'inscription   Statut Membre Dernière intervention   -  
 Utilisateur anonyme -
Bonjour à tous,

Je viens vers vous car je suis face a un petit problème que je ne comprends pas.

J'ai la requête suivante :

$requete = $bdd->prepare("SELECT mail, titre, ma.id AS ID_manga, me.id AS ID_membre, autre_site FROM membre me, mangas ma WHERE me.manga=ma.id AND me.id= :id");

$requete->execute(array(':id' => $_SESSION['id']));


J'ai le résultat suivant :

mail
titre
id
autre_site
test@hotmail.fr
Sword art online
11

Mais je n'arrive pas a l'afficher le résultat avec php, pourtant j'ai bien un résultat :/

Voici le code php :

 
<select name="manga">

<?php

 while($info_profil = $requete->fetch()){

  echo "<option value='".$info_profil['id']."'>".$info_profil['titre']."</option>";
 }

 ?>

</select>


Merci de vos réponse :)

Ps : résultat du var_dump :

array (size=10)
'mail' => string 'test@hotmail.fr' (length=22)
0 => string 'test@hotmail.fr' (length=22)
'titre' => string 'Sélectionner un manga' (length=21)
1 => string 'Sélectionner un manga' (length=21)
'ID_manga' => string '6' (length=1)
2 => string '6' (length=1)
'ID_membre' => string '11' (length=2)
3 => string '11' (length=2)
'autre_site' => string '' (length=0)
4 => string '' (length=0)

A voir également:

4 réponses

Utilisateur anonyme
 
Bonjour

Le résultat de quel var_dump ? Il n'y en a pas dans le code que tu montres.
Si c'est celui de $info_profil, il montre bien que le champ 'id' n'existe pas, donc le $info_profil['id'] dans ton echo ne risque pas de marcher.
0
lolerki Messages postés 606 Date d'inscription   Statut Membre Dernière intervention   102
 
Bonjour,

oui c'est bien celui de $info_profil, je comprends pas, il me retourne bien 11 pour le membre et 6 pour le ID_manga ?

Merci de ta réponse
0
Utilisateur anonyme
 
Oui, tu as bien quelque chose pour 'ID_manga', mais ce n'est pas 'ID_manga' que tu affiches. C'est 'id'. Tu ne vois pas la différence ?
0
lolerki Messages postés 606 Date d'inscription   Statut Membre Dernière intervention   102
 
Oui, j'ai éditer le code, et oublier de modifier la boucle, mais j'affiche bien ID_manga.

Excuse moi pour la confusion
0
Utilisateur anonyme
 
Peux-tu donner le vrai code, pas une mauvaise copie ?
Avec la requête, le var_dump et la boucle d'affichage ?
0
lolerki Messages postés 606 Date d'inscription   Statut Membre Dernière intervention   102
 
Oui bien sur,
Concrètement ce que je cherche a faire c'est d'attribué une valeur par défaut a un select, le petit hic, c'est que celle-la est variable suivant les utilisateur.


   
$requete = $bdd->prepare("SELECT * FROM membre WHERE id= :id");
$requete->execute(array(':id' => $_SESSION['id']));
   
$info_profil = $requete->fetch();
                        
$requet_manga = $bdd->prepare("SELECT * FROM mangas");
$requet_manga->execute(array($_SESSION['id']));
                        
$list_manga = $requet_manga->fetch();   


<select name="manga">
                                        
<option value="<?php echo $_SESSION['manga']; ?>" selected="selected"><?php echo $list_manga['titre']; ?></option>
                                        
<?php
 while($list_manga = $requet_manga->fetch())
{
 echo "<option value='".$list_manga['id']."'>".$list_manga['titre']."</option>";
 }
?>
</select>


Le var_dump($list_manga);

array (size=8)
'id' => string '6' (length=1)
0 => string '6' (length=1)
'titre' => string 'Sélectionner un manga' (length=28)
1 => string 'Sélectionner un manga' (length=28)
'description' => string '' (length=0)
2 => string '' (length=0)
'image' => string '' (length=0)
3 => string '' (length=0)
0
Utilisateur anonyme
 
C'est vraiment ça ton code ? Où est l'instruction var_dump ? Tu donnes le résultat de l'instruction mais on ne la voit pas.
Et pourquoi y a-t-il un seul résultat de var_dump ? Il y a une seule ligne dans ta table ?
Et ton code est très différent de celui que tu donnais dans ton premier message.
Tu passes vraiment du php au html sans fermer la balise php ? Regarde avant le <select>, il n'y a pas de ?>
0