affichage requête

kodjo
Invité n'ayant pas de compte PHPfrance

27 oct. 2005, 14:50

Bonjour,
est - il possible d'utiliser un affichage unique pour deux requêtes sql différentes? je suppose que mon code n'est pas correct mamis ça donne une idée de ce que je veux faire.
Exemple:

Code : Tout sélectionner

//première requête $requete1 = "SELECT * FROM table1 WHERE 1"; $result1 = mysql_query($requete1); $tab1 = mysql_fetch_array($result1); //deuxième requête $requete2 = "SELECT * FROM table2 WHERE 1"; $result2 = mysql_query($requete2); $tab2 = mysql_fetch_array($result2); //affichage ou $tab1 et $tab2 sont mélangés echo $tab1['champ1']; echo $tab2['champ1'];

Invité
Invité n'ayant pas de compte PHPfrance

27 oct. 2005, 14:51

je précise que malgré les apparences, $requete1 et $requete2 sont des requêtes différentes.

ViPHP
pjl
ViPHP | 2119 Messages

27 oct. 2005, 16:31

as tu testé ton code ?

Invité
Invité n'ayant pas de compte PHPfrance

27 oct. 2005, 17:15

non. il devrait marcher?

VaN
Mammouth du PHP | 1107 Messages

27 oct. 2005, 17:29

une seule façon de le savoir : )

et je ne comprend pas pourquoi tu parles d'afichage unique. Tu as là 2 requetes différentes, avec en retour deux variables différentes. Où est le probleme pour afficher ça ?

Invité
Invité n'ayant pas de compte PHPfrance

27 oct. 2005, 17:58

parce qu'en général, on utilise un
while ($row = mysql_fetch_array(...))
pour afficher un résultat.
ça voudrait dire que je dois faire
while ($row1 = mysql_fetch_array(...) && $row2 = mysql_fetch_array(...) )
et je me demande si ça marchera.
en fait je suis entrain de concevoir un script que je ne peux pas tester de suite sur mon poste alors je demande votre avis pour être le plus proche possible de la réalité.

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

27 oct. 2005, 18:15

ça voudrait dire que je dois faire
while ($row1 = mysql_fetch_array(...) && $row2 = mysql_fetch_array(...) )
Tu peut faire comme ça si tu as toujours le meme nombre de données (lignes) dans chaque table, sinon la boucle s'arretera des qu'elle arrive a la fin d'une des tables et l'autre ne sera pas listée jusqu'à la fin.

sinon tu peut mettre un "OU => ||" au lieu du "ET => &&" et tester les $rows pour savoir si elles sont différentes du tour de boucle précédent et donc l'afficher.

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute