Moteur de recherche sur une table - PHP - Programmation
Marsh Posté le 03-02-2016 à 21:25:21
Je suis pas un expert de php mais pourquoi t'essais pas :
PDO::query() pour faire ta requete SELECT
PDOStatement::fetchColumn() qui te donnera le nombre de ligne pour effectuer ta requete ?
a la place de : $count = $req->rowcount();
Je sais que rowcount beug avec certaine bdd
Marsh Posté le 03-02-2016 à 21:58:46
Oui c'est écrit : http://php.net/manual/fr/pdostatement.rowcount.php
Et de toute façon c'est plus simple de faire un $datas = $req->fetch(); puis un count($datas) pour savoir si quelque chose a été trouvé, puis après on parcourt $datas pour afficher les résultats.
Mais bon ça devrait quand même soit renvoyer 0 soit une erreur, vu que pas d'erreur je suppose que ça renvoi 0 et donc que le fait qu'il n'y ai pas d'espace entre le echo et le guillemet doit faire buguer. De plus ta variable est toujours à l'intérieur des guillemets à ce moment là.
EDIT : en fait ta variable est l'intérieur des guillemets à chaque fois :
Code :
|
Code :
|
Marsh Posté le 03-11-2015 à 15:19:55
Salut Je veux créer un moteur de cherche sur une table nommée ''clients'' et qui comporte les champs ''prenom'' et ''nom'' mais à chaque fois que j'effectue une recherche aucun résultat ne 's'affiche , même pas un message d'erreur , j'ai beau regardé mon code mais je n'arrive pas à trouver la ou ca déconne , est ce que quelqu'un pourrait me fournir son aide<br>merci <br>voici mon code:<br><!DOCTYPE html>
<html>
<head>
<title> Moteur de recherche</title>
<meta charset ='UTF-8'/>
</head>
<body>
<?php
if(isset($_POST['query']) && !empty($_POST['query']))
{
$query= preg_replace("#[^a-z?0-9]#i","",$_POST['query']);
$sql= "SELECT id,prenom AS title FROM clients WHERE prenom LIKE ? OR nom LIKE ?";
//conncxion a la base de données
include("fspeciales/connecter.php" );
$req = $connex->prepare($sql);
$req->execute(array('%'.$query.'%','%'.$query.'%'));
$count = $req->rowcount();
if($count >= 1)
{
echo "$count le(s) résultat(s) trouvé(s)pour <strong>$query</strong> </hr>";
while ($data = $req->fetch(PDO::FETCH_OBJ))
{
echo "#".$data->id.'- Titre: '.$data->prenom;
}
}
else
{
echo"0 resultat trouvé pour votre recherche :<strong>$query</strong></hr>";
}
}
?>
<form action= "<?php echo $_SERVER['PHP_SELF']; ?> " methode= "post ">
<br>
<br>
<label for= "query " >Entrez votre recherche :</label>
<input type= "search" name= "query" maxlength= "80" size= "80" id= "query"/>
<input type= "submit" value= "Rechercher">
</form>
</body>
</html>