Salut,

J'ai un petit souci qui me fait tourner en bourique...

Dans un premier fichier .php, je fais une requête sur ma base :

$queryhosttype = @mysql_query(" SELECT * FROM hosttype ");
$hosttype = @mysql_fetch_array($queryhosttype);


Je fais ensuite un include d'un fichier dans lequel j'appelle ma requête :

while($hosttype = @mysql_fetch_array($queryhosttype))
{
echo '<option value="'.$hosttype['Nom'].'">'.$hosttype['Nom'].'</option>';
}


Problème, il ne me retourne qu'une partie des résultats !

Si j'ajoute ma requête une deuxième fois ça fonctionne et j'obtiens tous les résultats mais alors je fais 2X ma requête ce que je ne souhaite pas !?

$queryhosttype = @mysql_query(" SELECT * FROM hosttype ");
while($hosttype = @mysql_fetch_array($queryhosttype))
{
echo '<option value="'.$hosttype['Nom'].'">'.$hosttype['Nom'].'</option>';
}


Si vous avez des pistes, je suis preneur.

Merci,
RafRaf
Modifié par RafRaf (30 Jan 2012 - 14:28)
pour moi çà ne peut venir que d'une limitation...
pour tester le contenu que tu récupères tu peux faire :

$queryhosttype = @mysql_query(" SELECT * FROM hosttype ");

$hosttype = @mysql_fetch_array($queryhosttype);

print_r($hosttype);



pour le reste ta requete est correcte , peut etre un probleme avec ta bdd

sinon moi a la place de while jprefere faire :

foreach($hosttype as $h){

//traitement

}
salut...

A tous hasard, et ce qui serait carrément logique.. il ne te manquerais pas le premier résultat ?

Si oui, et que ça ne dépasse pas 2 ou 3 c'est très simple !!

dans le premier fichier, tu va chercher le premier résultat par le fetch_array

dans le deuxième fichier tu utilises le while pour finir de faire le tour des résultats...

Donc soit tu vire le premier si il ne te sers pas, soit si tu veux pouvoir utiliser à plusieurs endroits, dans le premier fichier tu crée un array de l'ensemble des résultats de tarequète et tu travaille sur les array..
Merci pour vos réponses.

pchlj, je crois que tu as tout bon.

C'est cette solution qui me conviendrait : "soit si tu veux pouvoir utiliser à plusieurs endroits, dans le premier fichier tu crée un array de l'ensemble des résultats de tarequète et tu travaille sur les array.."

Concrètement, je fais comment ? Je pensais qu'avec "
$hosttype = @mysql_fetch_array($queryhosttype);
c'est ce que je faisais. Non ?