Requete a compléter

ladj59 Messages postés 322 Statut Membre -  
ladj59 Messages postés 322 Statut Membre -
Bonjour,

dans ma bdd les mots clé sont séparés par des virgules et aprés je fais des recherches par motsclé (code ci -dessous qui marche)
cependant les mots clé étant parfois longs ou au pluriel, j'aimerai faire que dans ma requete, si je tape tome alors que le mot clé est atomes cela m'affiche quand même le résultat de la recherche.
Je pense qu'il faut utilisé du LIKE et des % mais je n'aboutis a rien
Quelqu'un peut m'aider svp???

merci d'avance

<code type="php">
if( isset( $_POST['motscle'] ) && $_POST['motscle'] != "" )
for($rangMotscle = 0 ; $rangMotscle < sizeof($mots) ; $rangMotscle++)
{
if($rangMotscle > 0)
$laRequete .= " OR ";
$laRequete .= " AND motscle LIKE '%" . $mots[ $rangMotscle ] . "%'";
}

$reponse = mysql_query( $laRequete );
if( !$reponse )
{
$message = 'Requête invalide : ' . mysql_error() . "\n";
$message .= 'Requête complète : ' . $laRequete;
die($message);
}

</code>

1 réponse

sly-bzh Messages postés 417 Statut Membre 118
 
Bonjour,
Effectivement tu peux utiliser des %

As-tu essayé cela ?
if( isset( $_POST['motscle'] ) && $_POST['motscle'] != "" )
for($rangMotscle = 0 ; $rangMotscle < sizeof($mots) ; $rangMotscle++)
{
if($rangMotscle > 0)
$mot_cle = $mots[ $rangMotscle ]; //Comment obtiens-tu le $mots[] ?
$laRequete .= " OR ";// QUE VIENS FAIRE CE OR ICI ???
$laRequete .= " AND motscle LIKE '%$mot_cle%'";
}

$reponse = mysql_query( $laRequete );
if( !$reponse )
{
$message = 'Requête invalide : ' . mysql_error() . "\n";
$message .= 'Requête complète : ' . $laRequete;
die($message);// Et alors il te "die" un message ou pas ??
} 

2-3 questions se sont glissées en commentaires. Si la modif ne marche pas pourrais-tu y répondre s'il te plait
0
ladj59 Messages postés 322 Statut Membre 3
 
je vais essayer
pour ta question :
$mots4 = explode(",", $_SESSION['sujet']);
0