Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1171 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  REQUETTE DE TRI

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

REQUETTE DE TRI

n°260852
DevilBozzo
Posté le 04-12-2002 à 15:44:24  profilanswer
 

Salut.
 
G une table "essai" avec un champ "tri"
ce champ tri ressemble à ça :
 
ID 1 -> TRI 1 = "papa,maman,bebe"
ID 2 -> TRI 2 = "papa,bebe"
ID 3 -> TRI 3 = "maman,bebe"
ID 4 -> TRI 4 = "papa,bebe,toto,maman"
ID 5 -> TRI 5 = "maman,bebe,papa"
ID 6 -> TRI 6 = "toto"
ID 7 -> TRI 7 = "bebe,toto"
 
Mon probleme consiste à faire extraire les lignes qui comportent :
papa ET bebe
papa ET maman ET bebe
bebe (seul)
...
 
J'arrive à faire OU mais pas ET
 
// Marche si il y a papa OU bebe dans la chaine
$result = mysql("$db","select * from essai where tri REGEXP \"papa|bebe\"    " );
 
 
 
 
J'ai trouvé un autre truc avec LIKE qui marchait mais qui tenait compte de l'ordre des mots dans la chaine de départ.
 
ID 1 -> TRI 1 = "papa,maman,bebe"
ID 4 -> TRI 4 = "papa,bebe,maman"
ID 5 -> TRI 5 = "maman,bebe,papa"
 
la requette ne fonctionne que pour un seul de ces cas car les mots sont les memes mais pas l'ordre
 
 
HELP ME !

mood
Publicité
Posté le 04-12-2002 à 15:44:24  profilanswer
 

n°260862
tomlameche
Et pourquoi pas ?
Posté le 04-12-2002 à 15:51:30  profilanswer
 

DevilBozzo a écrit a écrit :

Salut.
 
G une table "essai" avec un champ "tri"
ce champ tri ressemble à ça :
 
ID 1 -> TRI 1 = "papa,maman,bebe"
ID 2 -> TRI 2 = "papa,bebe"
ID 3 -> TRI 3 = "maman,bebe"
ID 4 -> TRI 4 = "papa,bebe,toto,maman"
ID 5 -> TRI 5 = "maman,bebe,papa"
ID 6 -> TRI 6 = "toto"
ID 7 -> TRI 7 = "bebe,toto"
 
Mon probleme consiste à faire extraire les lignes qui comportent :
papa ET bebe
papa ET maman ET bebe
bebe (seul)
...
 
J'arrive à faire OU mais pas ET
 
// Marche si il y a papa OU bebe dans la chaine
$result = mysql("$db","select * from essai where tri REGEXP \"papa|bebe\"    " );
 
 
 
 
J'ai trouvé un autre truc avec LIKE qui marchait mais qui tenait compte de l'ordre des mots dans la chaine de départ.
 
ID 1 -> TRI 1 = "papa,maman,bebe"
ID 4 -> TRI 4 = "papa,bebe,maman"
ID 5 -> TRI 5 = "maman,bebe,papa"
 
la requette ne fonctionne que pour un seul de ces cas car les mots sont les memes mais pas l'ordre
 
 
HELP ME !




Un truc du style
select bidule
from essai
where tri like '%bebe%' and tri like '%papa%' etc ...
Ca devrai marcher, non ?

n°260866
Fred999
Rabat-joie
Posté le 04-12-2002 à 15:53:37  profilanswer
 

Oui, mais ça ne corrrespond pas à la structure de ses données.
 
D'ailleurs, tant qu'on en parle, j'ai des doutes sur la structure. Ne peux-tu pas externaliser les critères de tri?

n°260871
omega2
Posté le 04-12-2002 à 15:54:50  profilanswer
 

DevilBozzo a écrit a écrit :

Salut.
 
G une table "essai" avec un champ "tri"
ce champ tri ressemble à ça :
 
ID 1 -> TRI 1 = "papa,maman,bebe"
ID 2 -> TRI 2 = "papa,bebe"
ID 3 -> TRI 3 = "maman,bebe"
ID 4 -> TRI 4 = "papa,bebe,toto,maman"
ID 5 -> TRI 5 = "maman,bebe,papa"
ID 6 -> TRI 6 = "toto"
ID 7 -> TRI 7 = "bebe,toto"
 
Mon probleme consiste à faire extraire les lignes qui comportent :
papa ET bebe
papa ET maman ET bebe
bebe (seul)
...
 
J'arrive à faire OU mais pas ET
 
// Marche si il y a papa OU bebe dans la chaine
$result = mysql("$db","select * from essai where tri REGEXP \"papa|bebe\"    " );
 
 
 
 
J'ai trouvé un autre truc avec LIKE qui marchait mais qui tenait compte de l'ordre des mots dans la chaine de départ.
 
ID 1 -> TRI 1 = "papa,maman,bebe"
ID 4 -> TRI 4 = "papa,bebe,maman"
ID 5 -> TRI 5 = "maman,bebe,papa"
 
la requette ne fonctionne que pour un seul de ces cas car les mots sont les memes mais pas l'ordre
 
 
HELP ME !



Il y a pas que les regexp dans la vie et à mon avis, deux like sont plus rapide qu'un regexp.
En SQL, t'as les mots clé OR et AND qui sont valide dans les conditions de la requête. Utilises les plustôt que de sortir une tronsoneuse pour couper une feuille de papier. (en plus REGEXP ne fait pas partie de la norme SQL)

n°260875
tomlameche
Et pourquoi pas ?
Posté le 04-12-2002 à 15:57:46  profilanswer
 

omega2 a écrit a écrit :

sortir une tronsoneuse pour couper une feuille de papier.



 :lol:


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  REQUETTE DE TRI

 

Sujets relatifs
[http] comment se fait une requette GET poru une machine d un domaine?[Requette Access] Comment la traduire en code VBA ? HELP SVP !!!!!!!
recuperer le resultat d'une requette sql avec count(*)[Mysql] optimisation de requette : regle sur les index ?!
Tri par numéro de colonneArrondir dans une requette MySQL ?
REQUETTE avec POSTGRESQL "fonction"MySQL La requette ne fonctionne pas...Elle semble correcte.....
[PHP] Faire une requette http dans une pageTri d'un tableau selon plusieurs critères + affichage d'icone
Plus de sujets relatifs à : REQUETTE DE TRI


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR