Afficher résulat d'un Select

Résolu
Bowlest Messages postés 42 Date d'inscription mercredi 14 mai 2003 Statut Membre Dernière intervention 7 novembre 2005 - 29 juil. 2004 à 09:47
ronanf235 Messages postés 105 Date d'inscription jeudi 24 juin 2004 Statut Membre Dernière intervention 28 juin 2006 - 29 juil. 2004 à 12:26
Bonjour,

Je souhaiterais afficher le résultat de mon select sous forme de liste, car il comporte plusieurs résultats (commandes). Voila ma requete:

<?
$req="SELECT idcommande FROM commande WHERE idclient='$session_id'";
$res=mysql_query($req);
$result=mysql_fetch_array($res);
echo $result;

?>

Mais comme résultat j'obtiens une ligne avec écris Array

Merci d'avance

6 réponses

ronanf235 Messages postés 105 Date d'inscription jeudi 24 juin 2004 Statut Membre Dernière intervention 28 juin 2006
29 juil. 2004 à 11:00
slt
il ne faut pas faire $result=mysql_fetch_array($res);
en dehors du while, sinon tu perd la premiere ligne
mysql_fetch_array rend un tableau avec les valeurs de la ligne courante puis passse a la suivante...

<?
$req="SELECT idcommande FROM commande WHERE idclient='$session_id'";
$res=mysql_query($req);
if($res)
{
while ($result = mysql_fetch_array($res)){
// j'affiche tous les champs
for($i=0;$i<count($result);$i++){
echo $result[$i];
}
}
}
?> 



ronan
3
coockiesch Messages postés 2268 Date d'inscription mercredi 27 novembre 2002 Statut Membre Dernière intervention 13 septembre 2013 4
29 juil. 2004 à 09:58
Salut!
$req="SELECT idcommande FROM commande WHERE idclient='$session_id'";
$res=mysql_query($req);
if($res)
{
$result=mysql_fetch_array($res);
foreach($result as $sortie)
echo $sortie . ' - ';
}

(si tu as qu'un résultat)

@++

R@f

www.allpotes.ch: Photos, humour, vidéos, gags, ...

"On dit que seulement 10 personnes au monde comprenaient Einstein. Personne ne me comprends. Suis-je un génie???"
0
ronanf235 Messages postés 105 Date d'inscription jeudi 24 juin 2004 Statut Membre Dernière intervention 28 juin 2006
29 juil. 2004 à 10:05
salut
l'affichage que tu obtients est normale, car mysql_fecht_array retourne .... un array (un tableau quoi) qui corespond a la premiere ligne resultat de ta requete

il faut donc que tu parcours le tableau pour recupere les champs d'un resultat mais aussi que tu fasse une boucle pour recuperer toutes les lignes de ton resultat

par ex :
// tant qu'il y a des ligne
while ($result = mysql_fetch_array($res)){ 
     // j'affiche tous les champs
     for($i=0;$i<count($result);$i++){
           echo $result[$i];
     }
}


apres tu mets ce que tu veux autour (tableau...)

bonne continuation
ronan
0
Bowlest Messages postés 42 Date d'inscription mercredi 14 mai 2003 Statut Membre Dernière intervention 7 novembre 2005
29 juil. 2004 à 10:55
Les deux réponses marche, sauf que...

Le code de la première ne m'affiche qu'un enregistrement, et seulement le premier

Le deuxième code m'affiche un seul enregistrement aussi, et seulement le dernier

:(

<?
$req="SELECT idcommande FROM commande WHERE idclient='$session_id'";
$res=mysql_query($req);
if($res)
{
$result=mysql_fetch_array($res);
while ($result = mysql_fetch_array($res)){
// j'affiche tous les champs
for($i=0;$i<count($result);$i++){
echo $result[$i];
}
}
}
?>
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Bowlest Messages postés 42 Date d'inscription mercredi 14 mai 2003 Statut Membre Dernière intervention 7 novembre 2005
29 juil. 2004 à 11:09
ZUPER ça marche!

juste un dernier truc, comment fais-t-on pour organiser le résultat de manière a obtenir une liste verticale et non pas une suite verticale collée des résultats?

Merci d'avance :)
0
ronanf235 Messages postés 105 Date d'inscription jeudi 24 juin 2004 Statut Membre Dernière intervention 28 juin 2006
29 juil. 2004 à 12:26
si tu utilise le code tel quel, tout tes resultats doivent effectivement pas sur la meme ligne, qua cela ne tienne
ajoute du code HTML dedans

ex saut de ligne entre deux resultats

<?
$req="SELECT idcommande FROM commande WHERE idclient='$session_id'";
$res=mysql_query($req);
if($res)
{
while ($result = mysql_fetch_array($res)){
// j'affiche tous les champs
for($i=0;$i<count($result);$i++){
echo $result[$i];
}
echo "
";
}
}
?> 


ou dans un tableau :

<code>
<?
$req="SELECT idcommande FROM commande WHERE idclient='$session_id'";
$res=mysql_query($req);
if($res)
{
echo "\";
while ($result = mysql_fetch_array($res)){
// j'affiche tous les champs dans un ligne de tableau
echo \"----
\";
for($i=0;$i<count($result);$i++){
//puis chaque valeur dans une case
echo \"".$result[$i]."";
}
?>

maintenant a toi de jouer, fo essayer et essayer, et essayer...
ronan
0
Rejoignez-nous