problème requête mysql
3 messages
• Page 1 sur 1
- atomikado
- WRInaute discret

- Messages: 154
- Inscription: 22 Sep 2003
problème requête mysql
bonjour,
j'ai un problème concernant une requête mysql :
soit un tableau : $tab = array ( 'bonjour' , 'merci' , 'au revoir' ) ;
je voudrais dans une requête mysql récupérer tous les enregistrements ne comportant ni 'bonjour' , ni 'merci' , ni 'au revoir'
je pourrais faire un NOT LIKE '%bonjour%' AND NOT LIKE '%merci%' ... mais mon tableau comporte en fait beaucoup d'éléments !
Comment faire ?
Merci
j'ai un problème concernant une requête mysql :
soit un tableau : $tab = array ( 'bonjour' , 'merci' , 'au revoir' ) ;
je voudrais dans une requête mysql récupérer tous les enregistrements ne comportant ni 'bonjour' , ni 'merci' , ni 'au revoir'
je pourrais faire un NOT LIKE '%bonjour%' AND NOT LIKE '%merci%' ... mais mon tableau comporte en fait beaucoup d'éléments !
Comment faire ?
Merci
-

webmasterlamogere - WRInaute passionné

- Messages: 1874
- Inscription: 17 Déc 2006
tu peux utiliser implode avec un WHERE NOT IN
ca doit donner :
tu peux aussi faire avant :
ca doit donner :
- Code: Tout sélectionner
'NOT IN (' . implode(',', $tableau) . ')'
tu peux aussi faire avant :
- Code: Tout sélectionner
function protege_chaine($string) {
return '\'' . mysql_real_escape_string($string) . '\'';
}
$tableau = array_map('protege_chaine', $tableau_nom_protege);
-

plopz0r - Nouveau WRInaute

- Messages: 17
- Inscription: 21 Avr 2007
Tu as aussi une autre possibilité avec la fonction FIELD et toujours en utilisant implode
ça devrait donner une clause du genre :
Attention par contre à mettre des apostrophes de part et d'autre de chacun de tes mots dans ton tableau !
Par contre n'ayant jamais utilisé cette fonction je n'ai aucune idée de la rapidité avec laquelle elle s'exécute.
ça devrait donner une clause du genre :
- Code: Tout sélectionner
"...WHERE FIELD (tonchamp," . implode(',',$tableau) . ") = 0..."
Attention par contre à mettre des apostrophes de part et d'autre de chacun de tes mots dans ton tableau !
- Code: Tout sélectionner
$array[] = '\'mot\'';
Par contre n'ayant jamais utilisé cette fonction je n'ai aucune idée de la rapidité avec laquelle elle s'exécute.
3 messages
• Page 1 sur 1
Lectures recommandées sur ce thème :
- MySQL : probleme de requete
- probleme de requete mysql
- Requete Mysql probleme doublons
- problème sur une requête mysql
- MySQL problème de requete LEFT JOIN
- [mysql] trier les résultats d'une requête selon une table non liée à la requête
- Requete Mysql ?
- requete Mysql
- Requete MySQL et order
- Requete MYSQL problématique
- Google API : guide de développement de l'API Google - 20-09-2002
- Gestion des langues et des sessions en PHP / MySQL - 02-05-2004
- Passage à l'heure d'été/hiver sur un forum phpBB - 31-10-2010
- Les différents systèmes de mise en cache des données - 16-08-2010
- Nombre moyen de mots par requête : statistiques AOL Août 2006 - 10-08-2006
- Nombre de clics dans les pages de résultats : statistiques AOL Août 2006 - 11-08-2006
- Script de mise en cache des pages (PHP MySQL) - 09-08-2010
- GoogleStats : analyse temps réel des visites de Google sur votre site - 02-10-2002
Qui est en ligne
Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités
