Page 1 sur 1

requête sql un peu particulière ...

Posté : 15 nov. 2007, 14:57
par babiloou
Bonjour,


Voilà , je cherche à connaitre la requete sql qui me permettrait dans un tableau de séléction les lignes de ce dernier qui comprendraient dans un champs des caracteres alphabet (et pas que numérique)

je m'explique

id code nom
1 125 gbriel
2 A12 rene
3 547 paul
4 57B louis

je dois trouvrer une requete me permettant de séléction dans ce tableau la ligne 2 et 4.

merci d'avance pour votre aide ...

cordialement.

Posté : 15 nov. 2007, 15:12
par Snipy
EDIT :oublie de ce que j'ai dit et regarde les réponses ci dessous qui sont bien plus complètes

Posté : 15 nov. 2007, 15:13
par h0_noMan
Je suis pas sur mais il me semble que cela peux fonctionner comme ceci :
SELECT id,nom,code FROM MaTable WHERE code REGEXP '[:alpha:]'=1

Posté : 15 nov. 2007, 15:15
par Victor BRITO
Je m'essaie :

Code : Tout sélectionner

SELECT code, nom FROM nom_de_la_table WHERE code REGEXP "[[:alnum:]]+"

erreur sql

Posté : 15 nov. 2007, 15:44
par babiloou
la requete suivante
SELECT SELECT id FROM codes WHERE code REGEXP '[:alpha:]'=1
j'obtiens :

You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near 'SELECT id FROM code WHERE code REGEXP '[:alpha:]''

Posté : 15 nov. 2007, 15:45
par Victor BRITO
Essaie la requête que j'ai indiquée ci-dessus : elle devrait marcher, normalement.

pas plus

Posté : 15 nov. 2007, 15:58
par babiloou
malheureusement celle_çi me renvoi sur erreur sql cependant ma requete utilise dejà des guillmets je les ai donc supprimé (tjrs pas) puis remplacé par (')

voici ma requete complête :

$result = mysql_query("SELECT SELECT id FROM tablecode WHERE code REGEXP [[:alnum:]]+") or die(mysql_error());;

ou encore :

$result = mysql_query("SELECT SELECT id FROM tablecode WHERE code REGEXP '[[:alnum:]]+'") or die(mysql_error());;

Posté : 15 nov. 2007, 16:13
par Victor BRITO
Le mot SELECT est répété. :wink:

merci

Posté : 15 nov. 2007, 16:30
par babiloou
merci victor ça marche !!

que fais tu en ce moment ? tu recherches un stage rémunéré ? un emploi ?

j'ai téléchargé ton cv ... je le garde de côté , donne moi quelques précisions sur ta recherche actuelle

cordialement,

xavier

Posté : 15 nov. 2007, 16:47
par Truc
Modération :
Puisque ta question est résolue, j'ajoute le tag [Résolu]
pour indiquer aux personnes qui voudront consulter ce sujet qu'il contient une solution.

Tu peux réaliser cette opération toi-même
en cliquant sur le bouton Image qui s'affiche en haut à gauche de ce sujet
si tu as posté le 1er message en tant que membre (inscrit et identifié).

Alors... inscris-toi !!! ;)



Toujours commencer par tester les requêtes sans PHP autour... directement dans phpmyadmin (ou autre)

Posté : 15 nov. 2007, 17:05
par h0_noMan
D'apres ce qu'il dit il cherche une requete ne selectionnant que les enregistrements ou il y a au moins un lettre dans code.

Or avec cette requete tu obtiens :

Code : Tout sélectionner

SELECT "512" REGEXP "[[:alnum:]]+" -> 1 SELECT "51A" REGEXP "[[:alnum:]]+" -> 1
Il faudrait, je pense, préferer :alpha: à :alnum:

Code : Tout sélectionner

SELECT "512" REGEXP "[[:alpha:]]+" -> 0 SELECT "51A" REGEXP "[[:alpha:]]+" -> 1
Ensuite, j'ai peut etre mal compris sa demande.