Mysql_query
Fermé
Bonsoir,
Cette fois ci je me demande cmt mettre en forme une requete mysql ds laquelle je souhaite prelever ds la table tous les noms commencant soit par a, b , j ou l (par exemple) avec NECESSAIREMENT array(a, b, j, l) ??
mysql_query ("SELECT nom FROM identity WHERE inarray( array, nom) ");
qqun peut-il 'aider a trouver la syntaxe correcte s'il vous plait ??
Merci bcp
Cette fois ci je me demande cmt mettre en forme une requete mysql ds laquelle je souhaite prelever ds la table tous les noms commencant soit par a, b , j ou l (par exemple) avec NECESSAIREMENT array(a, b, j, l) ??
mysql_query ("SELECT nom FROM identity WHERE inarray( array, nom) ");
qqun peut-il 'aider a trouver la syntaxe correcte s'il vous plait ??
Merci bcp
3 réponses
Tiller
Messages postés
781
Date d'inscription
mercredi 4 juillet 2007
Statut
Membre
Dernière intervention
14 septembre 2008
211
22 janv. 2008 à 21:20
22 janv. 2008 à 21:20
Directement avec un array c'est impossible je crois mais moi je ferais comme ça:
$sql = 'SELECT `nom` FROM `identity` WHERE '; foreach($arr as $lettre) { $sql .= ' `nom` LIKE "'.$lettre.'%" OR'; } $sql = substr($sql, 0, -3);
Posotaz
Messages postés
489
Date d'inscription
samedi 23 juin 2007
Statut
Membre
Dernière intervention
19 juin 2011
225
22 janv. 2008 à 23:48
22 janv. 2008 à 23:48
Hello,
Appuyant la solution de Tiller (subtile la dernière ligne, j'ai mis le temps avant de comprendre :D), je n'ai pas le souvenir qu'il existe l'opérateur INARRAY en SQL, par contre il existe IN...
=> SELECT nom FROM identity WHERE SUBSTR(nom, 1, 1) IN ('a', 'b', 'j', 'l');
Appuyant la solution de Tiller (subtile la dernière ligne, j'ai mis le temps avant de comprendre :D), je n'ai pas le souvenir qu'il existe l'opérateur INARRAY en SQL, par contre il existe IN...
=> SELECT nom FROM identity WHERE SUBSTR(nom, 1, 1) IN ('a', 'b', 'j', 'l');