Problème accent dans requete sql - PHP - Programmation
Marsh Posté le 07-07-2006 à 09:45:27
rassure moi, y'a bien un moment ou tu l'executes ta requete???
Mais bon pour résoudre ton problème tu aurais du tout passer en utf-8 ( ta base, tes scripts, tes pages html)...
Marsh Posté le 07-07-2006 à 09:47:46
Si tu affiches ta requête finale ca donne quoi ?
PS: les balises code sont tes amies !!
Marsh Posté le 07-07-2006 à 09:50:43
Oui oui je te rassure , je l'execute bien ! En fait ca marche nickel lorsque que c'est une chaine de caractère sans accent , là ma requete finale affiche un résultat ! C'est juste un problème d'accent !
Marsh Posté le 07-07-2006 à 09:58:45
bluguludu a écrit : Oui oui je te rassure , je l'execute bien ! En fait ca marche nickel lorsque que c'est une chaine de caractère sans accent , là ma requete finale affiche un résultat ! C'est juste un problème d'accent ! |
Quand tu as des accents dans ta requete originale, que donne ta requete finale ?
1 - Les accents sont bien convertis en caractères normaux et tu obtiens une requête correcte
2 - Il manque des caractères parci parla
3 - Ca n'affiche pas grand chose
4 - Obiwan Kenobi
Marsh Posté le 07-07-2006 à 10:12:45
Bah je te donne un peu la structure de ma table 1
Champ : id activite nom domaine ville
exemple : 1 cafe & bar bar de lunion 4 beaufort
donc je fais la recherche avec comme critère "activite" et ensuite moi j'affiche le champ "nom"
Pour en revenir à ta question , lorsque quil ya un accent et que je fais afficher la requete $sql , il n'affiche rien !
Marsh Posté le 07-07-2006 à 10:24:25
J'ai testé ta fonction sans_accent qui a l'air de bien fonctionner.
Si quand tu affiches la requête (pas le résultat !!) rien ne s'affiche c'est qu'il ya un souci dans ton code php.
Si tu affiches la requête qu'elle semble correcte mais quand tu l'exécutes ça ne retourne rien alors c'est la requête qui est fausse.
PS: pourquoi ne pas faire une table activité ?
PS2: si tes domaines sont exprimés en integer (comme dans ton exemple) ca ne sert à rien de faire un like mais un = tout con suffira.
Enfin bon là je suis à court d'idées avec les infos que tu as donné
Marsh Posté le 10-07-2006 à 14:32:26
Essaie dans ta requete sql de faire:
18. $sql = "SELECT * FROM table1
19.
20. WHERE domaine LIKE '%' . $_REQUEST['cat'] .
21. '%'
22. AND activite LIKE '%' . $sous .
23. '%'
24. ORDER BY ville,nom";
En fait g remplacé les " près du % par des ' , n'oublie pas que si tu les melanges, la requete sql risque d'etre confuse.
Tiens moi au courant........
Marsh Posté le 11-07-2006 à 15:48:17
aidara a écrit : Essaie dans ta requete sql de faire: |
Correction
Marsh Posté le 07-07-2006 à 09:40:41
Bonjour,
En ce moment , j'ai un problème avec les accent :
Je fais une requete de recherche à partir d'une liste complétée par la base de données
Cette liste s'appelle "souscat". Dans cette liste, j'ai des chaines de caractères avec des accents (Café & Bar , Plâtrier ...). Donc je récupère la chaine de caractère sélectionnée dans la liste pour ma requete et la requete ne renvoit rien ! Et ca , uniquement lorsque il ya un accent.
J'ai donc décidé de supprimer tous les accents de ma table où je fais la recherche et aussi les accents de la chaine de caractère de ma liste , mais sans que ceux-ci disparaissent dans la liste . Par exemple :
Mais la , c'est la meme chose : elle ne renvoit rien ! Pourtant si je prend l'exemple de "café & bar", j'ai "cafe & bar" dans ma table1 et j'ai "café & bar" dans ma liste. Ensuite, j'utilise, juste avant la requete, la fonction sans_accent donc logiquement je devrai avoir "cafe & bar" dans ma variable $sous .
Donc voila , j'aimerai bien savoir où ai-je fait mon erreur
Merci
Message édité par bluguludu le 07-07-2006 à 10:23:12