|
Voir le sujet précédent :: Voir le sujet suivant
|
| Auteur |
Message |
| |
|
marion17 WRInaute passionné

Inscrit le: 11 Nov 2006 Messages: 518 Localisation: Brest
|
Posté le : Dim Jan 21, 2007 0:24 Sujet du message: Php SQL : afficher que les entré qui commencent par C ?? |
|
|
salut a tous
je me demander si il était possible avec une requette sql de n'afficher que les données d'une table commençant par la lettre C ???
merci |
|
| |
|
 |
YoyoS WRInaute accro

Inscrit le: 14 Sep 2006 Messages: 2256
|
Posté le : Dim Jan 21, 2007 0:57 Sujet du message: Php SQL : afficher que les entré qui commencent par C ?? |
|
|
| where attribut='C*' ? |
|
| |
|
 |
tom_pascal WRInaute impliqué

Inscrit le: 17 Nov 2003 Messages: 278
|
Posté le : Dim Jan 21, 2007 0:58 Sujet du message: Php SQL : afficher que les entré qui commencent par C ?? |
|
|
Je dirais :
| Code: |
| WHERE attribut LIKE 'C%' |
plutôt. |
|
| |
|
 |
marion17 WRInaute passionné

Inscrit le: 11 Nov 2006 Messages: 518 Localisation: Brest
|
Posté le : Dim Jan 21, 2007 1:03 Sujet du message: Php SQL : afficher que les entré qui commencent par C ?? |
|
|
bon je testerais ça demain, et je vous donne des new, merci  |
|
| |
|
 |
fablezouave WRInaute occasionnel

Inscrit le: 20 Déc 2006 Messages: 109 Localisation: Montreuil, 93
|
Posté le : Dim Jan 21, 2007 11:43 Sujet du message: Php SQL : afficher que les entré qui commencent par C ?? |
|
|
salut
LIKE est une commande assez gourmande en ressources. Dans l'optique d'optimiser ta requète, tu peux faire aussi comme ça :
| Code: |
| SELECT .... FROM tatable WHERE LEFT(attribut , 1) = 'C' |
fab |
|
| |
|
 |
marion17 WRInaute passionné

Inscrit le: 11 Nov 2006 Messages: 518 Localisation: Brest
|
Posté le : Lun Jan 22, 2007 21:33 Sujet du message: Php SQL : afficher que les entré qui commencent par C ?? |
|
|
merci mais je ne trouve pas la bonne syntax
j'ai esayer comme ça :
$res = mysql_query("SELECT salut FROM bonjour WHERE LEFT(attribut , 1) = 'C' LIMIT 0, 10");
while($r = mysql_fetch_array($res)){
etc..
}
mais ça me met "Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in I:\xampplite\monsite\index.php on line 146"
quand j'enleve le where tous marche bien par contre.
vous voyez d'ou ça peu venir ? |
|
| |
|
 |
fablezouave WRInaute occasionnel

Inscrit le: 20 Déc 2006 Messages: 109 Localisation: Montreuil, 93
|
Posté le : Lun Jan 22, 2007 21:37 Sujet du message: Php SQL : afficher que les entré qui commencent par C ?? |
|
|
re
attribut est bien un champ de ta table ? Que raconte mysql_error() ?
fab |
|
| |
|
 |
NxtGen WRInaute passionné

Inscrit le: 24 Oct 2006 Messages: 605
|
Posté le : Lun Jan 22, 2007 21:39 Sujet du message: Php SQL : afficher que les entré qui commencent par C ?? |
|
|
"attribut" correspond au nom de la colonne ou tu veux rechercher les champs qui commencent par C
C'était donné en exemple, il faut changer "attribut" par le nom de ta colonne  |
|
| |
|
 |
marion17 WRInaute passionné

Inscrit le: 11 Nov 2006 Messages: 518 Localisation: Brest
|
Posté le : Lun Jan 22, 2007 21:49 Sujet du message: Php SQL : afficher que les entré qui commencent par C ?? |
|
|
| NxtGen a écrit: |
"attribut" correspond au nom de la colonne ou tu veux rechercher les champs qui commencent par C
C'était donné en exemple, il faut changer "attribut" par le nom de ta colonne  |
ha genial !!
en effet j'ai mi le nom du champ de la table et ça marche impecable
je suis sur un mutalisé donc j'espere que ta jolie requette fablezouave est bien optimisée
c'en ai presque magique, et un gros merci car j'aurais jamais trouvée toute seul
a charge de revanche ,c'est ça l'esprit wri ^^ |
|
| |
|
 |
ACth WRInaute passionné

Inscrit le: 11 Nov 2006 Messages: 795
|
Posté le : Lun Jan 22, 2007 21:57 Sujet du message: Php SQL : afficher que les entré qui commencent par C ?? |
|
|
| fablezouave a écrit: |
salut
LIKE est une commande assez gourmande en ressources. Dans l'optique d'optimiser ta requète, tu peux faire aussi comme ça :
| Code: |
| SELECT .... FROM tatable WHERE LEFT(attribut , 1) = 'C' |
fab |
Je suis bien intéressé.
As-tu des liens indiquant que cette méthode est moins gourmande que le LIKE ? |
|
| |
|
 |
fablezouave WRInaute occasionnel

Inscrit le: 20 Déc 2006 Messages: 109 Localisation: Montreuil, 93
|
Posté le : Lun Jan 22, 2007 23:10 Sujet du message: Php SQL : afficher que les entré qui commencent par C ?? |
|
|
LIKE utilise une expression régulière, alors que LEFT utilise une simple fonction de bas niveau sur la chaîne de caractère.
Des liens ? non, par contre tu peux faire un simple test en insérant un nombre conséquant d'enregistrements dans une table ...
On peut cependant rendre ce "like" assez rapide en placant un index sur la colonne. C'est la seule forme de LIKE (LIKE 'chaine%' ou LIKE 'chaine') où l'index sera utilisé, car 'chaine' est au début, donc l'expression est constante.
Enfin, bref, dans la majorité des cas, c'est à éviter
fab |
|
| |
|
 |
ACth WRInaute passionné

Inscrit le: 11 Nov 2006 Messages: 795
|
Posté le : Mar Jan 23, 2007 9:53 Sujet du message: Php SQL : afficher que les entré qui commencent par C ?? |
|
|
| ok, merci, c'est bon à savoir. |
|
| |
|
 |
| |
|
|