OVH Cloud OVH Cloud

DWMX PHP Moteur de recherche multicrit?res

2 réponses
Avatar
dede_look
Salut amis chercheurs !

Je travaille sur un moteur de recherche multicrit?res : le formulaire se
rempli via des listes d?roulantes.
Exemple dans la liste r?gion on peut choisir l'une des 22 r?gions de France ou
toutes.

C'est ce "toutes" qui me pose probl?me.
Je souhaiterai filtrer selon des conditions mais je ne sais :
- pas o? les ins?rer
- pas si mon code et correct

Ma requ?te :

SELECT nom, activite, region
FROM matable
WHERE nom = 'colname' AND activite = 'colactivite' AND region = 'colregion'

(les 'colname', 'colactivite',..correspondent ? mes variables de formulaire)

Le genre de conditions que je souhaiterais ins?rer :

$requete = "SELECT client, annee FROM table_realisation_idec WHERE ";

if ('colname'!="toutes" 'colannee'=="toutes") {
$requete.="client = 'colname' " ;

} elseif ('colname'=="toutes" 'colannee'!="toutes") {
$requete.="annee = 'colannee' " ;


} elseif ('colname'!="toutes" 'colannee'!="toutes") {
$requete.="client = 'colname' AND annee = 'colannee' " ;

} else {
$requete ="SELECT client, annee FROM table_realisation_idec" ;

ORDER BY client ASC, annee DESC

Quelqu'un a-t-il une id?e g?niale ? Merci !

2 réponses

Avatar
Nadège
salut
j'ai relu 3 fois ton truc et je comprends pa bien ce que tu veux
mais si tu veux mettre 'toutes' les regions tu mets % comme valeur pour tout
je sais pas si ca reponds bien a ta question ?!

a+
Nadege


"dede_look" a écrit dans le message de news:
c65bk3$o7n$
Salut amis chercheurs !

Je travaille sur un moteur de recherche multicrit?res : le formulaire se
rempli via des listes d?roulantes.
Exemple dans la liste r?gion on peut choisir l'une des 22 r?gions de


France ou
toutes.

C'est ce "toutes" qui me pose probl?me.
Je souhaiterai filtrer selon des conditions mais je ne sais :
- pas o? les ins?rer
- pas si mon code et correct

Ma requ?te :

SELECT nom, activite, region
FROM matable
WHERE nom = 'colname' AND activite = 'colactivite' AND region 'colregion'

(les 'colname', 'colactivite',..correspondent ? mes variables de


formulaire)

Le genre de conditions que je souhaiterais ins?rer :

$requete = "SELECT client, annee FROM table_realisation_idec WHERE ";

if ('colname'!="toutes" 'colannee'=="toutes") {
$requete.="client = 'colname' " ;

} elseif ('colname'=="toutes" 'colannee'!="toutes") {
$requete.="annee = 'colannee' " ;


} elseif ('colname'!="toutes" 'colannee'!="toutes") {
$requete.="client = 'colname' AND annee = 'colannee' " ;

} else {
$requete ="SELECT client, annee FROM table_realisation_idec" ;

ORDER BY client ASC, annee DESC

Quelqu'un a-t-il une id?e g?niale ? Merci !



Avatar
GAel
A mon avis il faut qui tu mettes les conditions "selectionnable" en variable
et ensuite suivant tes variable tu construis ton WHERE

Tu fais ta recherche dans la base en fonction des critiere et non pas un
trie apres la recherche

J'espere avoir bien compris et t'avoir aidé!
GAel

"dede_look" a écrit dans le message de news:
c65bk3$o7n$
Salut amis chercheurs !

Je travaille sur un moteur de recherche multicrit?res : le formulaire se
rempli via des listes d?roulantes.
Exemple dans la liste r?gion on peut choisir l'une des 22 r?gions de


France ou
toutes.

C'est ce "toutes" qui me pose probl?me.
Je souhaiterai filtrer selon des conditions mais je ne sais :
- pas o? les ins?rer
- pas si mon code et correct

Ma requ?te :

SELECT nom, activite, region
FROM matable
WHERE nom = 'colname' AND activite = 'colactivite' AND region 'colregion'

(les 'colname', 'colactivite',..correspondent ? mes variables de


formulaire)

Le genre de conditions que je souhaiterais ins?rer :

$requete = "SELECT client, annee FROM table_realisation_idec WHERE ";

if ('colname'!="toutes" 'colannee'=="toutes") {
$requete.="client = 'colname' " ;

} elseif ('colname'=="toutes" 'colannee'!="toutes") {
$requete.="annee = 'colannee' " ;


} elseif ('colname'!="toutes" 'colannee'!="toutes") {
$requete.="client = 'colname' AND annee = 'colannee' " ;

} else {
$requete ="SELECT client, annee FROM table_realisation_idec" ;

ORDER BY client ASC, annee DESC

Quelqu'un a-t-il une id?e g?niale ? Merci !