Bonjour,

j'ai un soucis ,je n'arrive pas a faire de pagination avec mon moteur de recherche.
j'ai essaye plein de tuto a droite a gauche , le tuto de grafikart(mais se n'ai pas avec le moteur de recherche).

donc j'aimerais repartir de zero et si vous avez un bon tuto sous la main ,je suis preneur.

si vous avez des questions pour vous guider un peu plus esitez pas non plus .

Merci beaucoup .

3 réponses


kaloutch
Auteur
Réponse acceptée

bon ba a force de persévérance on en vois le bout .
jai trouver la soluce.

if (!empty($_GET'cat']) OR !empty($_GET'sta']) OR !empty($_GET'mot'])) 
{

    $mot=$_GET'mot']; //le mot a rechercher
    $cat=$_GET'cat']; //la catégorie a rechercher
    $sta=$_GET'sta']; //le status de la personne

    $reqpge = "";
    $requete= "SELECT * FROM depotannonce WHERE titre LIKE '%$mot%' ";
    if (!empty($cat)) {
        $requete .= "AND categorie LIKE '%$cat%' ";
        $reqpge .= "AND categorie LIKE '%$cat%' "; //requete pour savoir le nombre d'article total (count(*)
    }
    if (!empty($sta)) {
        $requete .= "AND user_status like '%$sta%' ";
        $reqpge .= "AND user_status like '%$sta%' "; //requete pour savoir le nombre d'article total (count(*)
    }

    $nombreDarticleParPage = 2;
    $retodur = mysql_query('SELECT COUNT(*) AS nb_articles FROM depotannonce');
    $retour = mysql_query("SELECT COUNT(*) AS nb_articles FROM depotannonce WHERE titre LIKE '%$mot%' $reqpge");
    $donnees = mysql_fetch_array($retour);
    $totalDesArticles = $donnees'nb_articles'];
    $nombreDePages = ceil($totalDesArticles / $nombreDarticleParPage);
    if (isset($_GET'page']))
    {
            $page = intval($_GET'page']); // On récupère le numéro de la page indiqué dans l'adresse 
    }
    else // La variable n'existe pas, c'est la première fois qu'on charge la page
    {
            $page = 1; // On se met sur la page 1 (par défaut)
    }
    $premierArticleAafficher = ($page - 1) * $nombreDarticleParPage;

    $requete .= "ORDER BY id DESC LIMIT $premierArticleAafficher,$nombreDarticleParPage";
    $resultat=mysql_query($requete);

    while ($rows = mysql_fetch_array($resultat)) 
    {

bye

Hello,

Quel était ton problème exactement ? Car j'ai un soucis aussi pour la pagination avec un moteur de recherche... Quand je clique sur la page 2, rien ne s'affiche alors que tout fonctionne sur la première page... Mon URL est pourtant correcte. Donc pourrais-je voir le bout de ton code où tu fais ta pagination (la boucle) ?

Thanks

kaloutch
Auteur

biensur voila:

while ($rows = mysql_fetch_array($resultat)) 
    {
    $titre=$rows[2]; $description=$rows[3]; $prix=$rows[15]; $id=$rows[0]; $categorie=$rows[14]; $dateenligne=$rows[16]; $photo=$rows[6]; 
?>
        // ton code ( ton article de vente ou ta news)  
<?php               
    }
    if ($nombreDePages>1) 
    {
        echo '<div class="news_page">';
        echo '<p>Page : </p>';
        for ($i = 1 ; $i <= $nombreDePages ; $i++)
        {
            if ($i==$page) 
            {
                echo $i.' / ';  
            }
            else
            {
                echo '<a href="recherche_avancee.php?mot='.$mot.'&cat='.$cat.'&sta='.$sta.'&page='.$i.'">'.$i.' /</a> ';
            }
        }
        echo '</div>';
    }
}// fin du si il y a eu saisie

si tu a toujours besoin d'aide envoie ton code