Aller au contenu

Sujets conseillés

Posté

Bonjour !

Je me suis mis il y a peu de temps (2 semaines) au php et j'ai pu créer un formulaire d'inscription géré par php et mysql.

Je voudrais savoir si ç'est envisageable de créer une recherche multi critères (3 ou 4) en php avec des notions relativement simples à partir de ma base.(1 table de 17 champs en Varchar)

Tout ce que j'ai pu imaginer pour le moment est horriblement long et fastidieux (genre : une trentaine de IF {...) ce qui me parait peu cohérent !

Evidemment, je ne demande pas un script, mais juste des indications sur les notions à utiliser.

Merci !

Posté

Bonjour,

Plus il y a de criteres, plus il y a de IF... :blink:OR ou AND :gueule:

Donnes un exemple de requête, code, et ce que tu souhaites comme recherche...multicritères, sans oublier la structure de ta table ...

"37 IF" c'est vrai que ça fait beaucoup pour 4 critères...

A suivre....

Posté (modifié)

Merci de m'aider !

En fait ,ç'est un site de rencontres...pour musiciens amateurs.

j'ai une table mysql avec 17 champs (id, prenom, nom,lieu,instrument...etc...uniquement du texte)

A chaque inscription, une nouvelle entree est créée.

Je voudrais une recherche multicritères avec :

-le niveau (<select>formulaire)

-la tranche d'age(<select>formulaire)

-et le lieu : 3 cases pour trois départements à remplir au choix (toutes ,aucune,1, ou 2).

Si mes calculs sont bons, ça ferait 32 possibilités (3 critères mais 3 choix pour le 3ème)

Donc, je me demandais s'il y avait possibilité de faire plus court, la solution la plus longue étant rarement la bonne.

Comment font les sites qui proposent des recherches avec plus de 20 critères ?

Et au fait, est-ce que l'on peut mettre deux "AND" ou deux "OR" dans une requête mysql ?

Merci beaucoup !

Modifié par cretefre
Posté
-le niveau (<select>formulaire)

-la tranche d'age(<select>formulaire)

-et le lieu : 3 cases pour trois départements à remplir au choix (toutes ,aucune,1, ou 2).

SELECT * FROM latable WHERE niveau = ".$_POST['niveau']." AND age = ".$_POST['age']." AND ( dep = ".$_POST['lieu1']." OR dep = ".$_POST['lieu2']." OR dep = ".$_POST['lieu3'].")

Evidemment c'est juste une base, il faut adapter si les critères sont des inférieurs/supérieux, enlever la fin si le choix "tous" est sélectionné etc

Et au fait, est-ce que l'on peut mettre deux "AND" ou deux "OR" dans une requête mysql ?

Oui bien sûr !!! et heureusement...

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...