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 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94
| <?php
$recherche = false;
if(!empty($_POST['mots'])){
$mots = htmlspecialchars($_POST['mots']);
$recherche = true;
}
elseif(!empty($_GET['mots'])){
$mots = htmlspecialchars(urldecode($_POST['mots']));
$recherche = true;
}
if( $recherche == true){
mysql_connect('host','root','pas');
mysql_select_db('booraqdb'); // on se connecte à MySQL. Je vous laisse remplacer les différentes informations pour adapter ce code à votre site.
//$mots = htmlspecialchars($_POST['mots']); // on crée une variable $mots pour faciliter l'écriture de la requête SQL, mais aussi pour empêcher les éventuels malins qui utiliseraient du PHP ou du JS, avec la fonction htmlspecialchars().
$req = mysql_query("SELECT * FROM moteur WHERE nom LIKE '%".$mots."%' ORDER BY code DESC") or die (mysql_error()); // la requête, que vous devez maintenant comprendre ;)
$nbArt = mysql_num_rows($req); // on utilise la fonction mysql_num_rows pour compter les résultats pour vérifier par après
if($nbArt != 0){// si le nombre de résultats est supérieur à 0, on continue
// maintenant, on va afficher les résultats et la page qui les donne ainsi que leur nombre, avec un peu de code HTML pour faciliter la tâche.
?>
<h3>Résultats de votre recherche.</h3>
<p>Nous avons trouvé <? echo $nbArt; // on affiche le nombre de résultats
if($nbArt > 1){
echo ' résultats ';
}
else {
echo ' résultat';
} // on vérifie le nombre de résultats pour orthographier correctement.
?>
dans notre base de données. Voici les résultats que nous avons trouvées :<br/>
<br/>
<?
affiche($nbArt,$mots);
echo "<br><a href=\"rechercher.php\"><b>Faire une nouvelle recherche</b></a></p>";
} // Fini d'afficher les résultats ! Maintenant, nous allons afficher l'éventuelle erreur en cas d'échec de recherche et le formulaire.
else { // de nouveau, un peu de HTML
?>
<h3>Pas de résultats</h3>
<p>Nous n'avons trouvé aucun résultat pour votre requête "<? echo $_POST['mots']; ?>". <a href="rechercher.php">Réessayez</a> avec autre chose.</p>
<?
}// Fini d'afficher l'erreur ^^
mysql_close(); // on ferme mysql, on n'en a plus besoin
}
?>
<p>Tapez une requête pour réaliser une recherche.</p>
<form action="rechercher.php" method="Post">
<input type="text" name="mots" size="10">
<input type="submit" value="Ok">
</form>
<?
function affiche($nombrearticle,$motClef){
$perPage=10;//nombre de pages
$nbPage=ceil($nombrearticle/$perPage);//arrondir à la valeur supérieure
//vérifier si la variable 'p' existe ou non!
if(isset($_GET['p']) && isset($_GET['motClef'])&& $_GET['p'] > 0 && $_GET['p'] <= $nbPage){
$cPage=$_GET['p'];
$motClef=$_GET['motClef'];
}
else {
$cPage=1;
}
$req=mysql_query ("SELECT * FROM moteur WHERE nom LIKE '%".urlencode($motClef)."%' ORDER BY code DESC LIMIT ".(($cPage-1)*$perPage).",$perPage") or die (mysql_error());
while($data=mysql_fetch_array($req)){
echo htmlspecialchars($data['nom']);
echo htmlspecialchars($data['email'])."<br>";
echo htmlspecialchars($data['commentaire']);
echo "<hr>";
}
//afficher les liens de page
for($i=1;$i<=$nbPage;$i++){
if($i==$cPage){
echo " $i /";//lien inactif
}
else{
echo " <a href=\"rechercher.php?p=$i&mots=$motClef\">$i</a> / ";
//c'est un lien actif
}
}
}//fin function
?> |
Partager