Page 1 sur 1

[résolu] moteur de recherche interne et ( ' )

Posté : 27 juin 2012, 13:37
par juliette
salut a tous,
j'ai un soucis, dans ma bdd j'ai des champ nom qui peuvent etre écris avec ( ' ) EX: G'Vitou...
la requete sa fait comme ca:
$req = $bdd->MysqlSelect("chien", "id_chien, aff_url, affixe, proprietaire, sex, livre, nom, mc, lof", "WHERE LOWER( nom ) LIKE  '$q%' OR LOWER( mc ) LIKE  '%$q%' OR LOWER( lof ) LIKE  '$q%' ORDER BY nom");
mon soucis est que le moteur me rend bien le nom mais quand je clic le lien ca ne marche pas, l'url est comme ca:
18-pedigree-malinois-G'Vitou-des-deux-pottois.html
je récupère le nom du chien pour le mettre dans l'url

avez vous une idée de la procédure pour que ça fonctionne ?

merci d'avance :(

Re: moteur de recherche interne et ( ' )

Posté : 27 juin 2012, 14:03
par juliette
d'apres cet article: http://coin.des.experts.pagesperso-oran ... q9_29.html
les ' ne sont pas interdit, je ne comprend pas trop d'ou viens mon soucis... #-o

Re: moteur de recherche interne et ( ' )

Posté : 27 juin 2012, 14:08
par nhachet
Dans ton URL, mieux vaux remplacer le ' par - :

[text]
18-pedigree-malinois-G-Vitou-des-deux-pottois.html
[/text]

Re: moteur de recherche interne et ( ' )

Posté : 27 juin 2012, 14:13
par juliette
ok mais g'vitou est le paramètre non qui est dans la bdd comma ça: G/'Vitou
si je comprend bien, je fait un champ url définie a l'avance et je n'utilise plus le nom pour l'url ?

Re: moteur de recherche interne et ( ' )

Posté : 27 juin 2012, 17:15
par juliette
bon, j'ai fait comme ca:
// suppression des ' du nom pour l'url
                $nom_url = $ligne['nom'];
                $Chaine = $nom_url;
                $Chaine = str_replace("'", "-", $Chaine);
mais je le fait juste au moment de créer le lien, en bdd le non est toujours enregistré sous ce format: ( G'Vitou )

mon soucis maintenant est que comme en bdd le nom est comme ça: G\'Vitou, comment le trouver en tapant G'Vitou sans le \ qui n'est pas trouver alors que G\'Vitou avec le \ est trouvé ???

Re: moteur de recherche interne et ( ' )

Posté : 27 juin 2012, 17:25
par juliette
bon, si personne n'arien a redire :D , je crois que j'ai trouvé, j'ajoute addslashes a la recherche du visiteur:
$moteur = mysql_real_escape_string(strtolower(addslashes($_POST['moteur'])));

Re: moteur de recherche interne et ( ' )

Posté : 27 juin 2012, 18:25
par xTG
Je corrigerai plutôt tous les liens enregistrés dans la BDD pour faire propre. :mrgreen:

Re: moteur de recherche interne et ( ' )

Posté : 27 juin 2012, 18:53
par juliette
ok, je vais faire comme tu dis xTG, je crois que je préfère aussi :D