Requete sql complexe en php

Consultez la formation au référencement naturel Google de WebRankInfo / Ranking Metrics

Zim'
WRInaute passionné
WRInaute passionné
 
Messages: 804
Inscription: Jeu Avr 27, 2006 2:08

Requete sql complexe en php

Message le Dim Juin 25, 2006 18:56

Bonjour @ tous,

Je sollicite votre aide pour écrire un requete sql en php que je n'arrive pas a écrire.

En fait, j'aurai besoin de parenthèse si ça existait, mais je ne sais meme pas si c'est possible, grosso modo ce serai un truc du genre:

SELECT * FROM table WHERE ((idcat1=$var1 OR idcat1=$var2 OR idcat1=$var3) OR (idcat2=$var1 OR idcat2=$var2 OR idcat2=$var3) OR (idcat3=$var1 OR idcat3=$var2 OR idcat3=$var3)) AND (prest=a or prest=b or prest=c)

Est ce que vous saisissez ce que je souhaite faire?

Il y a beaucoup trop de trucs a gérer, je n'y parviens vraiment pas...

Merci d'avance pour votre aide, n'hésitez pas à me signaler si il y a des choses à préciser


Leonick
WRInaute accro
WRInaute accro
 
Messages: 12325
Inscription: Dim Aoû 08, 2004 20:24

Message le Dim Juin 25, 2006 19:13

Déjà, ça
(idcat1=$var1 OR idcat1=$var2 OR idcat1=$var3)
peut être simplifié en
Code: Tout sélectionner
(idcat1 in ('$var1','$var2','$var3'))
Pareil pour les autres :wink:

Zim'
WRInaute passionné
WRInaute passionné
 
Messages: 804
Inscription: Jeu Avr 27, 2006 2:08

Message le Dim Juin 25, 2006 19:21

ça fonctionne avec mysql 4.X ?

puis pour le "déjà", j'ai expliqué dans mon message que la requete donné était une requete pour expliquer le principe de ce que je souhaite, ma requete ne fonctionnera pas, je le sais bien... mais bon si je viens demander de l'aide...^^

netsys
WRInaute accro
WRInaute accro
 
Messages: 1110
Inscription: Sam Juil 17, 2004 18:47

Message le Dim Juin 25, 2006 19:50

Ben oui les parenthèses ca marche pour séparer les OR des AND.


Leonick
WRInaute accro
WRInaute accro
 
Messages: 12325
Inscription: Dim Aoû 08, 2004 20:24

Message le Dim Juin 25, 2006 20:16

oui, ça marche avec du mysql 4.x
sinon, la requête de base peut être simplifiée en
Code: Tout sélectionner
SELECT * FROM table WHERE ((idcat1 in ('$var1','$var2','$var3')) OR (idcat2 in ('$var1','$var2','$var3')) OR idcat3 in (('$var1','$var2','$var3'))) AND (prest in ('a','b','c')))
Ca permet d'éviter de faire des requêtes trop gourmandes en mémoire.
ma requete ne fonctionnera pas, je le sais bien.
Il ne faut pas être défaitiste :D

Zim'
WRInaute passionné
WRInaute passionné
 
Messages: 804
Inscription: Jeu Avr 27, 2006 2:08

Message le Dim Juin 25, 2006 21:10

Merci @ tous, je vais tester...

Mais la je code vraiment un script de fou MDR, je vais faire exploser les serveur de mon hébergeur expldr


Formation recommandée sur ce thème :

Formation Référencement naturel Google : apprenez une méthode efficace pour optimiser à fond le référencement naturel dans Google de façon durable... Formation animée par Olivier Duffez et Fabien Facériès, experts en référencement naturel.

Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités