MYSQL - Intérroger plusieurs tables en même temps ?

WRInaute impliqué
Salut

Voila j'ais une p'tite question technique :

Je recupere des infos d'une base pour classer des images par nombre de votes :
Code:
$sql="select commentaires,votes from base1 ORDER BY votes DESC";

Et une petit boucle pour sortir les infos :

Code:
$donnee = mysql_query($sql);
while($tableau = mysql_fetch_array($donnee)) 
 { }

Rien de spécial , c'est basic .

Maintenant j'aimerais faire une page avec un top de toutes mes catégories.

Y a t'il un moyen simple et léger pour faire cette requette MYSQL ?

Genre...
$sql="select commentaires,votes from table1 ORDER BY votes DESC";
$sql="select commentaires,votes from table2 ORDER BY votes DESC";
$sql="select commentaires,votes from table3 ORDER BY votes DESC";

Et que ca les classe par vote ?


Bon c'est pas simple à expliquer à l'ecris mais vous voyez ce que je veux dire ? Un top sur plusieurs tables au final .
 
WRInaute impliqué
Salut

Oui j'utilise une table par catégorie , et elles ont exactement les même proprieté .

J'ais fais ca pour avoir une meilleurs vision de ce qu'y a dans mes tables , surtout quand je rajoute des champs etc , parce que si je mets tout dans la meme table , ok c'est bien avec les requete sql , mais c'est le souk visuellement dans phpmyadmin ..
 
WRInaute accro
Dans le même sens je te conseille de faire une seule table pour l'ensemble de tes sous-catégories, en rajoutant un champ permettant de les différencier (au mieux lier ta table des catégories avec une table type_categorie).
 
WRInaute accro
Stellvia a dit:
Je recupere des infos d'une base pour classer des images par nombre de votes :
Code:
$sql="select commentaires,votes from base1 ORDER BY votes DESC";
[...]
Maintenant j'aimerais faire une page avec un top de toutes mes catégories.

Y a t'il un moyen simple et léger pour faire cette requette MYSQL ?

Genre...
$sql="select commentaires,votes from table1 ORDER BY votes DESC";
$sql="select commentaires,votes from table2 ORDER BY votes DESC";
$sql="select commentaires,votes from table3 ORDER BY votes DESC";

Et que ca les classe par vote ?

Comme déjà dit par les autres, tu ferais nettement mieux d'avoir une seule table avec une colonne qui indique de quelle catégorie il s'agit. Mais en attendant, tu peux faire une requête sur toutes tes tables existantes en faisant un UNION ALL. Je te laisse lire la doc pour trouver la syntaxe, tu y apprendras certainement plein d'autres choses super intéressantes (dont l'existence de la doc).

Joyeux Noël!

Jacques.
 
WRInaute impliqué
Salut tout le monde

Je vais réfléchir à unir toutes mes tables en une seule , mais à la base c'eait pas mon objectif , je trouve que c'est trop le bordel de faire ca :/
 
Discussions similaires
Haut