Page 1 sur 1

Autocomplétion : Recherche par prénom ou par nom

Posté : 08 oct. 2013, 01:09
par nico44530
Bonjour,

J'utilise un input avec auto-complétion pour rechercher les membres.

La recherche se fait par le prénom et le nom.
Le problème c'est qu'il n'y a que le prénom pris en compte.

Dès qu'on commence la recherche par le nom, aucun résultat n’apparaît.

Voici la requête :
<?php
session_start();
require('config.inc.php');
if(isset($_POST['queryString'])){
	$queryString = $_POST['queryString'];
	if(strlen($queryString) > 0){
		$req1 = $connect->prepare("SELECT id, prenom, nom, pseudo, sexe FROM users WHERE prenom LIKE :queryString OR nom LIKE :queryString1 OR CONCAT(prenom,' ',nom)  LIKE :queryString2 ORDER BY prenom LIMIT 8");
		$req1->execute(array(':queryString'=>$queryString.'%',':queryString1'=>'A%'.$queryString.'%', ':queryString2'=>$queryString.'%'));
		$resultMsg = $req1->rowCount();
		if($resultMsg > 0){
			while($resultMsg = $req1->fetch()){
				$id = $resultMsg['id'];
				$prenom = $resultMsg['prenom'];
				$nom = $resultMsg['nom'];
				$pseudo = $resultMsg['pseudo'];
				$sexe = $resultMsg['sexe'];
				$search_membre = '../img/upload/'.$id.'-mini.jpg';
				$adresse_search = $sexe == 1 ? '../img/upload/homme.jpg' : '../img/upload/femme.jpg';
				if(strlen($prenom) > 35) { $prenom = substr($prenom, 0, 35) . "..."; }	
				if(strlen($nom) > 35) { $nom = substr($nom, 0, 35) . "..."; } ?> 
<ul class="search">
	<li class="user">
		<a href="#" onClick="fillInfos('<?php echo $resultMsg['id']; ?>');fill('<?php echo $resultMsg['prenom']; ?> <?php echo $resultMsg['nom']; ?>');return false;">
			<?php if(file_exists($search_membre)){ ?> 
			<img class="avatar-id" src="../img/upload/<?php echo $id; ?>-mini.jpg" height="32" width="32" alt="" />
			<?php } else { ?> 
			<img class="avatar-search" src="<?php echo $adresse_search; ?>" height="32" width="32" alt="" />
			<?php } ?> 
			<span class="text"><b><?php echo htmlentities(ucfirst($prenom)); ?> <?php echo htmlentities(ucfirst($nom)); ?></b></span>
		</a>
	</li>
</ul><?php } } else { ?>
<ul class="search">
	<li class="user">
		<span class="noSearch">La recherche n'a donné aucun résultat.</span>
	</li>
</ul><?php } } } ?> 
Ce que je voudrais c'est avoir des résultats en commençant le recherche soit par le nom, soit par le prénom, soit les deux (en comptant l'espace entre les deux).

Merci d'avance

Re: Autocomplétion : Recherche par prénom ou par nom

Posté : 08 oct. 2013, 08:08
par moogli
Sait,

Commence par afficher la requête et la tester dans un client SQL.

Le dernier cas ne sert que si tu renseigne complètement le prénom.

@+

Re: Autocomplétion : Recherche par prénom ou par nom

Posté : 08 oct. 2013, 17:33
par nico44530
Comment on fait pour afficher la requête et la tester ?
Parce que la requête fonctionne mais juste quand on écrit :

prénom
prénom+nom

Ce que je voudrais c'est la recherche aussi par le nom :

nom
nom+prénom

Re: Autocomplétion : Recherche par prénom ou par nom

Posté : 08 oct. 2013, 19:37
par moogli
$variable = 'requete';
echo $variable;


.......

@+