problème requête mysql
3 messages • Page 1 sur 1
Consultez la formation au référencement naturel Google de WebRankInfo / Ranking Metrics
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 accro

- Messages: 1874
- Inscription: Dim Déc 17, 2006 21:08
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);
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
Formation recommandée sur ce thème :
Formation Référencement naturel Google : apprenez une méthode efficace pour optimiser à fond le référencement naturel dans Google de façon durable... Formation animée par Olivier Duffez et Fabien Facériès, experts en référencement naturel.
Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.
Lectures recommandées sur ce thème :
- Gestion des langues et des sessions en PHP / MySQL
- Passage à l'heure d'été/hiver sur un forum phpBB
- The Technology Behind Google
- GoogleStats : analyse temps réel des visites de Google sur votre site
- Sortie officielle de GoogleStats v2.0 !
- AdSense Tracking : statistiques détaillées sur les clics AdSense
- Le WRInaute du moment
- Statistiques des requêtes sur les moteurs en 2006
- Google Code Jam 2003
- Commande site: sur Google et pages ignorées
Qui est en ligne
Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités


le forum