MYSQL - recherche par tableau ? ca existe
5 messages
• Page 1 sur 1
-

Zecat - WRInaute accro

- Messages: 12000
- Inscription: 1 Mar 2005
MYSQL - recherche par tableau ? ca existe
A ma droite $tab qui contient 4 elements (ou plus) :
aaa
bbbb
ccccc
ddddd
a) et je veux rechercher les 4 fiches correspondantes. Il y a une syntaxe specifique "SELECT BY ARRAY" ou c'ets à moi de fabriquer le requete avec des OR ?
b) Question subsidiaire : aaa bbbb cccc ddddd sont en fait des clefs uniques indexées dans la table : vaut il mieux (à priori) une requete avec des OR ou 4 requete unitaires ? (dans le cas ou pas de réponse positive au point a ...)
edit : a priori j'ai trouve cela :
Coté perf ca donne quoi ?
aaa
bbbb
ccccc
ddddd
a) et je veux rechercher les 4 fiches correspondantes. Il y a une syntaxe specifique "SELECT BY ARRAY" ou c'ets à moi de fabriquer le requete avec des OR ?
b) Question subsidiaire : aaa bbbb cccc ddddd sont en fait des clefs uniques indexées dans la table : vaut il mieux (à priori) une requete avec des OR ou 4 requete unitaires ? (dans le cas ou pas de réponse positive au point a ...)
edit : a priori j'ai trouve cela :
- Code: Tout sélectionner
<?php
mysql_query("SELECT col FROM une_table WHERE col IN ('".implode("','", array_map('mysql_real_escape_string', $tableau))."')");
// Pour des nombres:
mysql_query("SELECT col FROM une_table WHERE col IN (".implode(',', array_map('intval', $tableau)).")");
Coté perf ca donne quoi ?
- Amauri
- WRInaute discret

- Messages: 221
- Inscription: 7 Avr 2011
Re: MYSQL - recherche par tableau ? ca existe
Le code va juste créer une requête pour sélectionner tous les champs correspond.
Avec $foo = array('a','b','c');
Le code va chercher toutes les lignes ou "col" est égal à un des éléments de $foo.
Avec $foo = array('a','b','c');
Le code va chercher toutes les lignes ou "col" est égal à un des éléments de $foo.
-

Leonick - WRInaute accro

- Messages: 19595
- Inscription: 8 Aoû 2004
Re: MYSQL - recherche par tableau ? ca existe
avec les expressions régulières, tu peux aussi y arriver
- Code: Tout sélectionner
SELECT col FROM une_table WHERE col REGEXP "^(aaa|bbbb|ccccc|ddddd)$";
5 messages
• Page 1 sur 1
Lectures recommandées sur ce thème :
- Ca existe la notion de transaction en Mysql ?
- [MYSQL] Existe-t-il un critère CONTIENT
- La notion de Trigger ... ca existe dans mysql ?
- Tableau et requete php/mysql
- [MySQL] tester si une table existe déjà
- Existe-t-il un annuaire des moteurs de recherche ?
- Existe t'il un méta moteur de recherche de produits d'affiliation ?
- variable get du type tableau[]=val1&tableau[]=val2
- PHP: Mélanger un tableau de tableau de manière aléatoire
- afficher une table SQL dans un tableau / faire une recherche
- Logiciel d'analyse du positionnement
AgentWebRanking est un logiciel professionnel qui permet d'analyser le positionnement d'un ou plusieurs sites dans plus de 300 moteurs de recherche dans le monde. Vous pouvez ainsi analyser les performances du référencement pour de nombreux mots-clés. - Transformer des textes non cliquables en liens
Cet outil vous permet de trouver des pages citant votre site mais ne faisant pas (encore) de lien. Il suffira parfois d'un simple mail pour transformer cette simple citation en lien (backlink).
Qui est en ligne
Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité
