Bonjour,
Je recherche des chaines de caractères dans un champ.Si $nbr = 1 pas de problème, par contre si $nbr > 1 (donc si j'entre plus de 2 mots à rechercher, preg_match me retrourne tous les textes qui contiennent "c" ou "o"
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35 <?php $nbr = 0; if (isset($_POST['mot'])) { $mot = $_POST['mot']; $mot_eclate = explode(" ",$_POST['mot']); $nbr = count($mot_eclate); //recherche dans la table des films if ($nbr == 1){ $sql = mysql_query("SELECT * FROM films"); $nb = mysql_num_rows($sql); for ($a = 0; $a < $nb; $a++) { $titre = mysql_result($sql,$a,"titre"); $synopsis = mysql_result($sql,$a,"synopsis"); if (preg_match("/$mot/i",$synopsis)){ echo "<b>$mot trouvé dans $titre</b><br /> $synopsis<br />"; } else {echo "$synopsis<br /><br />"; } } } else { for ($i = 0; $i < $nbr; $i++){ $sql = mysql_query("SELECT * FROM films"); $nb = mysql_num_rows($sql); for ($a = 0; $a < $nb; $a++) { $titre = mysql_result($sql,$a,"titre"); $synopsis = mysql_result($sql,$a,"synopsis"); if (preg_match("/$mot[$i]/i",$synopsis)){ echo "<b>$mot[$i] trouvé dans $titre</b><br /> $synopsis<br />"; } } } } } ?>
Comment je peux résoudre ce problème ?
Merci d'avance
Partager