requete :(

loop
Invité n'ayant pas de compte PHPfrance

18 mai 2005, 17:39

salut je n'arrive pas à faire la requete suivante
j'ai une liste de marque et je veux selectionner que les marques començant par un chiffre, A , B , C ... et m'arrété là ...
j'ai un peu de mal... j'ai mis un like mais rien d'optimal la :/
svp merci

Eléphant du PHP | 281 Messages

18 mai 2005, 17:43

Bonjour,
heu colle nous ton code, et réexplique ton problème d'un autre point de vue s'il te plait j'ai pas tout compris :roll:

Administrateur PHPfrance
Administrateur PHPfrance | 11457 Messages

18 mai 2005, 17:43

un peu plus de détail, svp : ;)
- code utilisé
- jeu d'exemples

loop
Invité n'ayant pas de compte PHPfrance

18 mai 2005, 17:46

en fait j'ai une liste de marque
- nike
- rebook
- puma


etc

j'ai fait une page sur mon site ou je peux cliquer sur un lien pour accéder au site de la marque...
exemple

0 à E - F à O - P à Z

lorsque je clik sur A - E par exemple je voudrais pouvoir afficher toutes les marques commençant par 0,1,2,3...A,B,C,D,E.

j'ai du mal pour faire la requete en fait j'essaie un between un like mais nan rien de bon là ... c'est plus clair ?

Eléphant du PHP | 281 Messages

18 mai 2005, 17:53

oui c'est plus clair le genre de requete serait :

SELECT * FROM table WHERE nom_marque like ("a*" OR "b*" OR "c*" OR "d*" OR "e*")

je sais pas si cela marche mais c'est à tenter !

Invité
Invité n'ayant pas de compte PHPfrance

18 mai 2005, 17:54

je crois que cela est faisable avec EREG mais plus sur que ca

loop
Invité n'ayant pas de compte PHPfrance

18 mai 2005, 17:57

nan fonctionne pas ta requete :) EREG en SQLLLLL ???!!! nan je pense pas que ça existe ça :p

Eléphant du PHP | 281 Messages

18 mai 2005, 17:59

désoél c'était un essai mais je pense que c'est dans l'idée essaye comme ca lars :

SELECT * FROM table WHERE nom_marque like "a*" OR nom_marque like "b*" OR nom_marquee like "c*" OR nom_marque like "d*" OR nom_marque like "e*"

Je sais ca a pas l'air super efficasse mais bon je propose je propose ;)

Mammouth du PHP | 19672 Messages

18 mai 2005, 18:03

Pour information, les expressions régulières fonctionnent en SQL avec MySQL;
Voir ICI
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

loop
Invité n'ayant pas de compte PHPfrance

18 mai 2005, 18:03

alors voila ce qui fontionne

SELECT * FROM table WHERE nom like "a%" OR nom like "f%"

c'est pas très beau :/ je pense qu'on peut optimiser parce que si j'ai 10 lettre à tester ça fait 10 nom like " " :( arf

loop
Invité n'ayant pas de compte PHPfrance

18 mai 2005, 18:04

autant pour moi je savais pas pr les expressions régulières ;)

Administrateur PHPfrance
Administrateur PHPfrance | 11457 Messages

18 mai 2005, 18:05

SELECT * FROM table WHERE LEFT(nom_marque,1) IN ('a', 'b', 'c', 'd', 'e')

loop
Invité n'ayant pas de compte PHPfrance

18 mai 2005, 18:07

voila la reponse ;)

SELECT * from marque where nom REGEXP '[0-9a-e]';

bien joué les expressions régulières ;)

merci les gars !

loop
Invité n'ayant pas de compte PHPfrance

18 mai 2005, 18:08

moins optimale ta requete albat je pense ;) mais merci quand mm !

Mammouth du PHP | 568 Messages

17 août 2011, 12:14

moins optimale ta requete albat je pense ;) mais merci quand mm !
Pas si sur que ça, faudrait faire un jeu d'essai conséquent pour pouvoir le dire.

Je dirais que c'est mieux que d'utiliser une regex, mais je me trompe peut-être...