affichage de double requetes dans un seul tableau - PHP - Programmation
Marsh Posté le 20-05-2009 à 16:08:51
roy mustang a écrit : salut j'utilise mysql et je voudrais afficher le contenu de 2 tables mysql dans un seul tableau le problème c'est que les enregistrement ne s'affiche pas comme il en faut |
Utilise des balises html pour les afficher "comme il faut"
Sérieusement, ce serait bien d'expliquer un peu plus précisément ton problème.
Quelques remarques vite fait :
1. Il vaut mieux éviter de faire des SELECT *, il vaut mieux faire SELECT (liste des champs).
Ca économise de la mémoire (pourquoi stocker 15 champs * nombre d'enregistrements si tu n'en utilises que 2 ?)
Et ça permet d'éviter des éventuels problèmes de maintenance.
2. Pourquoi tu ne ferais pas plutôt une seule requête avec une jointure ? A vue de nez c'est faisable (il faut voir en fonction des tables).
3. Ton imbrication de while me semble douteuse. Le deuxième while particulièrement :
Au premier passage, tu vas boucler sur ton $result1, mais au deuxième passage mysql_fetch_assoc ne revient pas au début.
Du coup la boucle est quittée tout de suite...
Marsh Posté le 21-05-2009 à 02:46:32
macgawel a écrit :
Sérieusement, ce serait bien d'expliquer un peu plus précisément ton problème. Quelques remarques vite fait : 2. Pourquoi tu ne ferais pas plutôt une seule requête avec une jointure ? A vue de nez c'est faisable (il faut voir en fonction des tables). 3. Ton imbrication de while me semble douteuse. Le deuxième while particulièrement : |
pour votre premier point 1 , je vous assure que mes requêtes sont fonctionnelles et que je les ai testé sur phpmyadmin
pour votre point 2, vous vouliez dire the inner join??? aucune idée comment le faire sinon le résultat de chaque requête est différent de l'autre(l'une affiche tous les enregistrements à partir de mes tables mysql et l'autreseulement ceux en cours!)
pour votre point 3, voila voila c'est ça le problème et j'en suis sure!!! avez vous une idée comment le traiter?
j'ai besoin de votre aide merci!!!
Marsh Posté le 21-05-2009 à 21:08:45
ce n'est pas parce qu'un SELECT * est fonctionnel qu'il est judicieux ...
je rejoins l'avis de macgawel là-dessus : si tu n'utilises qu'un seul champ (ou 2) ça ne sert à rien de rapatrier tous les champs. Et faire SELECT champ1, champ2 FROM ... est tout aussi valable que SELECT * FROM, à la différence près que c'est moins gourmand en ressources (et, selon les schémas des tables dans la base, ça évite aussi de rapatrier n'importe quoi).
pour la jointure : pourquoi ne pas faire, au lieu de :
Code :
|
ceci :
Code :
|
par exemple, après reste à appliquer un critère dans le Where, s'il le faut, ou bien un order by, voire un limit s'il y a besoin. Et, bien entendu, déterminer les X champs à rapatrier.
dans ton 2nd while, tu génères une ligne à chaque nouveau passage, c'est voulu ainsi ?
Marsh Posté le 20-05-2009 à 03:51:57
salut j'utilise mysql et je voudrais afficher le contenu de 2 tables mysql dans un seul tableau le problème c'est que les enregistrement ne s'affiche pas comme il en faut voici mon script seulement pour la première colonne
merci pour votre aide