Bonjour chers amis dév,
je suis en train de créer un système de recherche un peu à la façon facebook ou à la façon instant search de google.
Mon soucis réside dans la requête je pense au moment ou je tape un premier mot suivi d'un deuxième avec un espace entre les deux.
Quand je tape le prénom et un espace tout va bien mais dès que je commence à taper le nom après l'espace, il me retourne "aucun résultat".
Voici mon script :
Comme vous pouvez le constater le résultat supprime l'espace mais quand je tape le prenom, il ne retourne plus aucun résultat puisque ça dépasse ce qui existe en réel.
Code php : 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 <?php if(!empty($_POST) AND !empty($_POST['search'])) { extract($_POST); $space=str_replace(' ','', $_POST['search']); $search = strip_tags($space,$_POST['search']); require('../include/config.php'); $reqSearch=$bdd->query("SELECT nom, prenom, photoProfil FROM membres WHERE nom LIKE '%$search%' OR prenom LIKE '%$search%' LIMIT 0,8"); if($reqSearch->rowCount()>0){ while($data = $reqSearch->fetch(PDO::FETCH_OBJ)){ echo '<div id="infos">'; echo '<img src="./img/photos/'.htmlspecialchars($data->photoProfil).'" width="50" height"50" alt="'.htmlspecialchars($data->photoProfil).'" title="Profil de '.htmlspecialchars($data->prenom).' '.htmlspecialchars($data->nom).'" style="float:left;margin:0 5px 0 0"/>'; echo '<div style="float:left;width:225px;margin-top:2px;text-align:left">'.htmlspecialchars($data->prenom).' '.htmlspecialchars($data->nom).'</div>'; echo '</div>'; } } else { echo htmlspecialchars('Aucun résultat. pas de chance !'); } } else { echo htmlspecialchars('Aucun résultat. ERREUR envoi formulaire'); } echo '<div id="linkPlus">'; echo '<span class="linkPlus"><a href="recherches/recherche.php">Afficher plus de résultats</a></span>'; echo '</div>'; ?>
Le chemin inverse existe aussi. c'est à dire que si je commence à taper le Nom en premier il me le trouve aussi...
en fait il n'additionne pas les deux colonnes dans lesquelles il effectue la recherche.
Je vois pas trop comment je peux modifier cela.
Merci d'avance pour votre aide![]()
Partager