Question sur les variables

Résolu
milkasoprano Messages postés 239 Date d'inscription jeudi 21 juillet 2005 Statut Membre Dernière intervention 1 juillet 2007 - 21 mars 2006 à 01:26
milkasoprano Messages postés 239 Date d'inscription jeudi 21 juillet 2005 Statut Membre Dernière intervention 1 juillet 2007 - 22 mars 2006 à 15:37
Bonsoir tous le monde,
J'aurai une question a vous posez a vous membres, fana de php sur les variables
Imaginons que dans un formulaire je tape :

La voiture de jean est belle.

J'appuie sur entrer ou bouton ok qui va enclancher une requete sql
dans cette requete sql il va trouver si la phrase dans le champ (phrase) de la table (search) est present .. si oui, alors la reponse sera : oui elle est tres belle !

Maintenant je voudrai remplancer

La voiture de jean est belle par :
La voiture de louise est belle.

Mais la ! cette phrase n'est pas presente dans mysql donc il retournera un message d'erreur genre : Cette phrase n'existe pas dans la base de donnée !

Voila maintenant ou je veux en venir

Je cherche un script ou une fonction php qui me dit que :

La voiture de x est belle

n'importe quelle mot ou prenom ou n'importe quoi est tapé entre ' et 'est belle'"Oui elle est tres belle"

Voyez vous ce que je veux dire ?
Franchement je n'ai aucune idée comment faire ca..
A noté que la voiture de x est belle ce trouve dans la base de donnée.
Qui peut maider ?

on peut definir une valeur genre par exemple &
et quand on tape la phrase et dont le mot (jean, georgette, louise etc..) et taper entre les deux, c'est remplacer automatiquement par & et ca affiche le resultat : Oui elle est tres belle

MAIS COMMENT FAIRE CA ???
franchement je ne sais pas du tous ? qui peut maider ?
merci pour vos reponses sincere !

bonne soirée tous le monde.

7 réponses

cz1702 Messages postés 119 Date d'inscription mercredi 23 juillet 2003 Statut Membre Dernière intervention 6 novembre 2008 3
21 mars 2006 à 08:55
On peut faire une requète cherchant "La voiture de % est belle" % étant un joker mysql qui remplace n'importe quel terme contenu entre "La voiture de" et " est belle".
3
milkasoprano Messages postés 239 Date d'inscription jeudi 21 juillet 2005 Statut Membre Dernière intervention 1 juillet 2007
21 mars 2006 à 19:02
Ok jai compris le truc et je pense que je vais utiliser ton idée. hors ya un truc que je ne comprend pas c'est que je pars d'un champ ou je designe : la voiture de jean est belle !

comment je fais pour separé "la voiture de" jusqu'a "est belle" ?

je vois bien ce que tu veux me dire..

$question = addslashes(htmlentities(trim($_POST['question'])));

sachant que j'utilise la methode post de mon formulaire !
j'envoi la requete...

donc $question % $findequestion %
je vois pas comment ? :( tu vois ce que je veux dire..

je selection la base de donnée et je fais une recherche par rapport a ce qu'il ma enoncé dans le formulaire et je prend les deux phrases les plus connu c'est a dire

$requete = "SELECT * FROM faq".
" where question='$question'";


$result = mysql_query($requete);

la voiture de / est belle ! si ya au moins c deux truc la dans le champ ! --> retourne vers : oui elle est tres belle ?

merci pour ta reponse
3
cz1702 Messages postés 119 Date d'inscription mercredi 23 juillet 2003 Statut Membre Dernière intervention 6 novembre 2008 3
21 mars 2006 à 20:47
Je ne sais pas si j'ai bien compris ta question mais la requète SQL devra ressembler à ça:
"SELECT * FROM faq where question='La voiture de % est belle';";
pour remplacer jean et louise par % (en créant par exemple un tableau ou une table contenant les noms de ce qui devra être remplacer par %)tu peut utiliser la fonction str_replace voir :
http://www.manuelphp.com/php/function.str-replace.php

Maintenant si tu n'as aucune idée des questions qui vont être posée à l'avance ça va devenir plus compliqué !!

a+
3
cz1702 Messages postés 119 Date d'inscription mercredi 23 juillet 2003 Statut Membre Dernière intervention 6 novembre 2008 3
21 mars 2006 à 20:51
PS : Tu peux aussi utiliser des jokers en PHP mais je ne m'en suis encore jamais servi donc je ne peut rien te dire de plus
3

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
milkasoprano Messages postés 239 Date d'inscription jeudi 21 juillet 2005 Statut Membre Dernière intervention 1 juillet 2007
21 mars 2006 à 22:52
Ok franchement merci beaucoup pour ta reponse c'est vraiment super de ta part !
jai bien compris la reponse :)
mais il faut pas oublier que :

$question = addslashes(htmlentities(trim($_POST['question'])));
"SELECT * FROM faq where question='$question';";

Comment peut il savoir que le mot qui ce trouve % est bien celui qui manque ?

"SELECT * FROM faq where question='La voiture de % est belle';";

Comment dois je presenter ca si il y a une variable ? et la variable $question = la voiture de jean est belle

merci pour ta reponse ;) et bonne journée a toi :D
3
cz1702 Messages postés 119 Date d'inscription mercredi 23 juillet 2003 Statut Membre Dernière intervention 6 novembre 2008 3
22 mars 2006 à 12:40
Regarde et test cet exemple tu comprendras peut être mieux :

<?php
$phrase1 = "La voiture de Jean est belle.";
$phrase2 = "La voiture de Louise est belle.";
$liste = array("Jean", "Louise", "Yves");
echo "P1: ".str_replace($liste, "%", $phrase1)."
P2:".str_replace($liste, "%", $phrase1);
?>
3
milkasoprano Messages postés 239 Date d'inscription jeudi 21 juillet 2005 Statut Membre Dernière intervention 1 juillet 2007
22 mars 2006 à 15:37
Oui ok jai compris le truc mais c'est que j'ai aucune envie de faire une liste dans une base de donnée ou sur un code php via un fetch array ( liste de tous les prenoms qui existent dans le monde.

Moi je veux juste faire une recherche par les mots " la voiture de louise est belle" et ben si louise n'est pas presente. il prendra le plus de mot clef qui sont figuré dans le meme champ. ce qui sous entend les mots suivants : "la voiture de est belle" si au moins c mots sont dans le meme champ alors on affiche le resultat c'est a dire -> oui elle est belle
3
Rejoignez-nous