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

Mammouth du PHP | 790 Messages

27 juin 2012, 13:37

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 :(
Modifié en dernier par juliette le 27 juin 2012, 18:53, modifié 1 fois.
Les fautes de grammaire et d'orthographe contenu dans mes postes sont sous copyright, vous pouvez les utiliser pour un usage personnelle mais vous ne devrez en aucun cas les utiliser a des fins commercial sans une autorisation écrite de ma part.

Mammouth du PHP | 790 Messages

27 juin 2012, 14:03

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
Les fautes de grammaire et d'orthographe contenu dans mes postes sont sous copyright, vous pouvez les utiliser pour un usage personnelle mais vous ne devrez en aucun cas les utiliser a des fins commercial sans une autorisation écrite de ma part.

Eléphant du PHP | 127 Messages

27 juin 2012, 14:08

Dans ton URL, mieux vaux remplacer le ' par - :

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

Mammouth du PHP | 790 Messages

27 juin 2012, 14:13

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 ?
Les fautes de grammaire et d'orthographe contenu dans mes postes sont sous copyright, vous pouvez les utiliser pour un usage personnelle mais vous ne devrez en aucun cas les utiliser a des fins commercial sans une autorisation écrite de ma part.

Mammouth du PHP | 790 Messages

27 juin 2012, 17:15

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é ???
Les fautes de grammaire et d'orthographe contenu dans mes postes sont sous copyright, vous pouvez les utiliser pour un usage personnelle mais vous ne devrez en aucun cas les utiliser a des fins commercial sans une autorisation écrite de ma part.

Mammouth du PHP | 790 Messages

27 juin 2012, 17:25

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'])));
Les fautes de grammaire et d'orthographe contenu dans mes postes sont sous copyright, vous pouvez les utiliser pour un usage personnelle mais vous ne devrez en aucun cas les utiliser a des fins commercial sans une autorisation écrite de ma part.

ViPHP
xTG
ViPHP | 7331 Messages

27 juin 2012, 18:25

Je corrigerai plutôt tous les liens enregistrés dans la BDD pour faire propre. :mrgreen:

Mammouth du PHP | 790 Messages

27 juin 2012, 18:53

ok, je vais faire comme tu dis xTG, je crois que je préfère aussi :D
Les fautes de grammaire et d'orthographe contenu dans mes postes sont sous copyright, vous pouvez les utiliser pour un usage personnelle mais vous ne devrez en aucun cas les utiliser a des fins commercial sans une autorisation écrite de ma part.