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
| <?php
include 'main-functions.php';
/////////////////////////////// DEBUT RECHERCHE //////////////////////////////
function recherche_par_mots_cles($search){
global $connexion;
//
$where = "";
$search = preg_split('/[\s\-]/' ,$search);
$count_keywords = count($search);
foreach ($search as $key => $searches){
$where .= "article LIKE '%$searches%' OR description LIKE '%$searches%'";
if ($key != ($count_keywords-1)){
$where .= " AND ";
}
}
$query = mysqli_query($connexion, "SELECT * FROM articles WHERE $where")or exit(mysqli_error($connexion));
$rows = mysqli_num_rows($query);
if ($rows){
while ($article = mysqli_fetch_assoc($query))
{
echo "<div class=\"row\">
<div class=\"col l12 m12 s12\">
<a href=index.php?page=articles&id=".$article['id'].">".$article['article']."</a>
<br>
<u>Description:</u><br>
".$article['description']."
<br>
Prix: ".$article['prix']."
</div>
</div>";
}
/////////////////////////////// DEBUT PAGINATION //////////////////////////////
global $bdd;
//Nombre de pages à afficher
$parPage = (int) 3;
//Requête simple pour compter les entrées
$req = $bdd->query("SELECT COUNT(*) as nb_billets FROM articles WHERE article LIKE '$where' OR description LIKE '$where'");
$resultat = $req->fetch();
//nb de billets dans la table
$totalBillets = $resultat['nb_billets'];
//Nb pages à afficher à l'arrondi
$nbPage = ceil($totalBillets/$parPage);
//Condition pour voir sur quelle page on se trouve et si c'est bien un chiffre (==1 vérifie bien que c'est un chiffre)
if(isset($_GET['numeroPage']) && !empty($_GET['numeroPage']) && ctype_digit($_GET['numeroPage'])==1)
{ //Si le numéro de page n'est pas supérieur au nombre de pages existantes
if ($_GET['numeroPage']>$nbPage)
{
$pageCourrante = $nbPage;
}
else
{
$pageCourrante = $_GET['numeroPage'];
}
}
else
{ //Sinon la page courrante = 1
$pageCourrante = (int)1;
}
$premierBilletDeLaPage = ($pageCourrante-1)*$parPage;
/////////////////////////////// FIN PAGINATION //////////////////////////////
///////////////// DEBUT AFFICHAGE DES NUMEROS DE PAGES /////////////////////
include('pagination.inc.php');
///////////////// FIN AFFICHAGE DES NUMEROS DE PAGES /////////////////////
}else{
echo "<p>Pas de résultat !</p>";
}
}
/////////////////////////////// FIN RECHERCHE //////////////////////////////
?> |
Partager