Création
d'entreprise
Posez votre question Signaler

Requête MySql + ORDER BY

purefastandsimple 6Messages postés 27 juin 2008Date d'inscription - Dernière réponse le 27 juin 2008 à 23:11
Bonjour,
Je me présente déjà. Je suis nouveau sur ce forum. J'avoue que cette inscription est étroitement liée à un petit problème de requête MySql et de codage PHP.
Voci mon code :
$resultat_ordre = mysql_query("SELECT * FROM nouveautes_ordre");
$tab_ordre = array();
while($info_ordre = mysql_fetch_object($resultat_ordre))
{
$tab_ordre[] = $info_ordre->id_nouveaute;
}
Mon tableau $tab_ordre[] permet de stocker des valeurs numériques grâce à la boucle WHILE
Ces valeurs doivent me servir pour afficher des informations selon ces valeurs (de ID).
EX. $tab_order peut contenir (10,19,22,18).
J'aimerais savoir comment faire une requête MySQL sur la table nouveautes me permettant d'afficher les informations triées en fonction du tableau mémoire $tab_order.
Dans mon exemple, la première information à afficher serait celle dont le ID vaut 10 puis 19, 22 et enfin 18 !
Quelqu'un aurait une piste ?
Je vous en remercie à l'avance.
Il est fort possible que mon approche est fausse. Je ne le prendrais pas mal si tel est le cas. On en apprend tous les jours.
Lire la suite 

Requête MySql + ORDER BY »

3 réponses
Réponse
+0
moins plus
et si tu rajoute dans ta requête SELECT * FROM nouveautes_ordre ORDER BY id_nouveaute ASC
ça donne quoi ?
purefastandsimple- 27 juin 2008 à 19:10
Merci Matio pour ta réactivité,

J'ai du oublier de préciser un élément crucial.
Le première requête permet de lire une table MySQL nouveautes_ordre tandis que :

mysql_query("SELECT * FROM nouveautes WHERE statut='1'");
permet d'afficher les informations à l'écran (ici des nouveautés) et ces informations doivent être affichées justement en fonction de la première table newsletter_ordre.

Pour info, la structure de la table nouveautes_ordre est comme ceci :

id, id_nouveaute
1 18
2 19
3 22
4 10

et la structure de la table nouveautes est comme celà :

id, titre, texte, ...
10 ..., ...
18 ..., ...
19 ...,...
22 ...,...

Donc, l'idée, c'est d'afficher sur une page PHP toutes les nouveautés (table nouveautes) selon un ordre prédéfini (nouveautes_ordre)

Suis-je assez concis dans mon explication ?
Matio- 27 juin 2008 à 23:11
Re,
Donc je pense qu'il faut faire une jointure (comme ça les 2 tables seront "parallèles") :
SELECT * FROM tab1,tab2 WHERE nouveautes.id=nouveates_ordre.id_nouveate;
tu peux remplacer l'* par les champs qui devront s'afficher.

Voilà, j'espère que tu avanceras un peu.
Je vais me coucher
a+
Ajouter un commentaire
Ce document intitulé « Requête MySql + ORDER BY » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?