requete multiple PHP SQL : besoin coup de main urgent

requete multiple PHP SQL : besoin coup de main urgent - PHP - Programmation

Marsh Posté le 03-08-2006 à 22:15:37    

voila ma requete
 

Citation :

$select = " SELECT count(noms) FROM `table` WHERE  
(`match` LIKE '%$demande1%' AND `match` LIKE '%$demande2%')
OR
(`description` LIKE '%$demande1%' AND `description` LIKE '%$demande2%')
OR
(`match` LIKE '%$demande1%' AND `description` LIKE '%$demande2%')
OR
(`description` LIKE '%$demande1%' AND `match` LIKE '%$demande2%')
 " or die("TEST6 DESOLE" );


il y a 4 lignes de requetes entre parenthèses et je voudrais que dans le resultat de ma requete globale, elles soient ordonnées :
les resultats de la premiere ligne puis ceux de la deuxieme etc etc ...
 
je ne sais plus trop quelle commande utiliser (UNION ?) et ca me met un peut le bord#l dans les resultats.
j'ai deja posté la question dans la rubrique SQL mais personne ne répond...
Si vous connaissez la reponse, pouvez-vous me laisser un petit exemple  ?
Merci beaucoup


---------------
http://www.ypikay.com
Reply

Marsh Posté le 03-08-2006 à 22:15:37   

Reply

Marsh Posté le 03-08-2006 à 22:18:34    

bin ORDER BY puis les champs que tu veux en priorité [:spamafote]


---------------
La musique c'est comme la bouffe, tu te souviens du restaurant dans lequel t'as bien mangé 20 ans plus tôt, mais pas du sandwich d'il y a 5 minutes :o - Plugin pour winamp ©Harkonnen : http://harko.free.fr/soft
Reply

Marsh Posté le 03-08-2006 à 22:24:57    

mais non c'est plus compliqué que ca. si je faisais un order by ca ressemblerait a
ORDER BY nianiania (`match` LIKE '%$demande1%' AND `match` LIKE '%$demande2%') , nianiania (`description` LIKE '%$demande1%' AND `description` LIKE '%$demande2%') etc etc
j'ai des "sous requetes" entre parentheses que je veux afficher les unes apres les autres. si la requete (`match` LIKE '%$demande1%' AND `match` LIKE '%$demande2%') contient 25 enregistrements et la requete (`description` LIKE '%$demande1%' AND `description` LIKE '%$demande2%') en contient 5, il y aura evidemment 30 resultats mais d'abord les 25 puis a la suite les 5...
comprends tu mon probleme ?


---------------
http://www.ypikay.com
Reply

Marsh Posté le 03-08-2006 à 22:32:42    

ah oki mais ce ne sont pas des sous requêtes ça
 
avec un UNION ça donne quoi ?


---------------
La musique c'est comme la bouffe, tu te souviens du restaurant dans lequel t'as bien mangé 20 ans plus tôt, mais pas du sandwich d'il y a 5 minutes :o - Plugin pour winamp ©Harkonnen : http://harko.free.fr/soft
Reply

Marsh Posté le 03-08-2006 à 22:34:55    

je vais faire le test je te tiens au courant


---------------
http://www.ypikay.com
Reply

Marsh Posté le 03-08-2006 à 22:41:02    

Citation :

$requete = " SELECT * FROM `moteur3` WHERE  
(`match` LIKE '%$demande1%' AND `match` LIKE '%$demande2%')
 
UNION SELECT count(url) FROM `moteur3` WHERE  
(`description` LIKE '%$demande1%' AND `description` LIKE '%$demande2%')
 
UNION SELECT count(url) FROM `moteur3` WHERE  
(`match` LIKE '%$demande1%' AND `description` LIKE '%$demande2%')
 
UNION SELECT count(url) FROM `moteur3` WHERE  
(`description` LIKE '%$demande1%' AND `match` LIKE '%$demande2%')
 
ORDER BY `valeur` DESC LIMIT ".$debut.", 20" or die("TEST5 DESOLE" );


 
voila mon essai tu en penses quoi ? ca plante...


---------------
http://www.ypikay.com
Reply

Marsh Posté le 03-08-2006 à 22:43:02    

ça plante ?
 
sinon je dirais qu'il manque des parenthèses à certains endroits et que y'en a en trop sur les clauses where


Message édité par Sh@rdar le 03-08-2006 à 22:43:19

---------------
La musique c'est comme la bouffe, tu te souviens du restaurant dans lequel t'as bien mangé 20 ans plus tôt, mais pas du sandwich d'il y a 5 minutes :o - Plugin pour winamp ©Harkonnen : http://harko.free.fr/soft
Reply

Marsh Posté le 03-08-2006 à 22:44:13    

oui je vais deja enlever des parenthèses


---------------
http://www.ypikay.com
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed