begin process at 2012 05 31 07:03:23
  Trouver un code source :
 
dans
 
Accueil > Forum > 

PHP

 > 

Base de données

 > 

MySQL

 > 

problème de pagination dans le résultat d'une recherche


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

problème de pagination dans le résultat d'une recherche

mardi 26 mai 2009 à 10:51:46 | problème de pagination dans le résultat d'une recherche

caliche

Bonjour, j'ai un petit problème avec ma pagination, mon code fonctionne presque mais pas tout à fait !

Voilà ce que je veux faire:
j'ai une petit formulaire de recherche déroulant, une fois sélectionner l'endroit où on veut chercher, j'obtiens x nombre de réponses, je veux faire afficher le nombre de réponses trouvées d'une part et afficher 3 réponses par page d'autre part.

Ce que j'arrive à faire:
J'obtiens bien le nombres de réponses par page souhaité (ici 3 ), j'obtiens bien le nombre de page possible en dessous mais le nombre de réponses trouvée qu'il affiche se limite au nombre de résultats par page (3 hors il en trouve en fait 6) bien que le nombre de page est exacte (ici 2), de plus lorsque je clique sur la page suivante, il m'affiche une page vide et pas les résultats qui suivent.

Voici mon code:

<?php
        if (isset($_POST['rechercher']))
        {
            mysql_connect("localhost", "root", "mysql");
            mysql_select_db("basededonnees");
            $q=$_POST['rechercher'];
            switch($_POST['choix'])
            {
                case "commune": $choix = "commune";
                break;   
                case "cp": $choix = "cp";
                break;   
                case "nom": $choix = "nom";
                break;   
                case "type_activite": $choix = "type_activite";
                break;   
                // On vérifie toutes les possibilités, pour ne pas pouvoir chercher dans des champs non autorisés.
            }   
            if ($q == '')
            {
                echo 'Veuillez entrez votre recherche svp <br/>';
            }
            else       
            {
                $messageparpage=3;
                $retour_total= mysql_query ("SELECT COUNT(*) AS total from recherche WHERE $choix LIKE '%$q%'") or die (mysql_error()); //va chercher toutes les données qui se trouve la table annonce
                $donnees_total=mysql_fetch_assoc($retour_total);
                $total=$donnees_total['total'];
                $nombredepages=ceil($total/$messageparpage);
           
                if(isset($_GET['page']))
                {
                    $pageactuelle=intval($_GET['page']);
               
                    if($pageactuelle>$nombredepages)
                    {
                        $pageactuelle=$nombredepages;
                    }
                }
                else
                {
                    $pageactuelle=1;
                }
                $premiereentree=($pageactuelle-1)*$messageparpage;
               
                //$sql = "SELECT * FROM recherche WHERE $choix LIKE '%$q%'"; // On recherche dans la base séléctionnée
                $req=mysql_query("SELECT * FROM recherche WHERE $choix LIKE '%$q%' ORDER BY id DESC LIMIT ".$premiereentree.','.$messageparpage.'');
                //$req = mysql_query($d) or die(mysql_error());
               
                mysql_close();
                echo "<br/><br/>";
                while ($d = mysql_fetch_assoc($req))
                {
    ?>
   
   
    <div class="image_nom">
        <div class="nom">
            <?php echo $d['nom']; ?>
        </div> <!--fermeture di nom-->
        <div class="image">
            <img class="image1_1" src="<?php echo $d['image1']; ?>" alt="image" />
        </div> <!--dermeture div image-->
    </div> <!--fermeture div image nom-->
       
    <div class="coordonee">
        <p>
        <b>Adresse:</b>
        </p>
        <p>
        <?php echo $d['adresse'] ?>
        <br/>
        <?php echo $d['cp'] ?>
        <?php echo $d['commune'] ?>
        </p>
        <p>
        <b>Tel:</b> <?php echo $d['tel'] ?>
        <b>Fax:</b> <?php echo $d['fax'] ?>
        </p>
        <p>
        <b>E-mail:</b> <?php echo $d['mail'] ?>
        </p>
    </div> <!--fermeture coordonee-->
   
    <div class="sous_descriptif">
                <a title="clic pour plus d'info" href="#" onclick="description1(<?php echo $d['id'];?>); return false;" style="color:#525253; margin-left: 25px;">Plus d'info</a>
            </div> <!--fermeture sous_descriptif-->
            <div class="deco">
                <div id="cadre1<?php echo $d['id'];?>" style="display:none; border:3px solid #fff; padding: 5px;" >
                    <div class="image2"> <a href="<?php echo $d['image2']; ?>" rel="lightbox"><img class="image2_2" src="<?php echo $d['image2']; ?>" title="clic pour agrandir"  alt="image" /></a>
                    <p><?php echo $d['texte'];?></p>
                    </div> <!--fermeture div image2-->
                    <div class="texte_fin"><br/><br/>
                    <strong>Horaire</strong><br/>
                        <?php echo $d['horaires'];?><br/><br/>
                    <div class="image_deco">
                        <a href="<?php echo $d['image3']; ?>" rel="lightbox"> <img class="image2_3" src="<?php echo $d['image3']; ?>"   title="clic pour agrandir" alt="image" /></a>
                        <a href="<?php echo $d['image4']; ?>" rel="lightbox"> <img class="image2_3" src="<?php echo $d['image4']; ?>"   title="clic pour agrandir" alt="image" /></a>
                        <a href="<?php echo $d['image5']; ?>" rel="lightbox"> <img class="image2_3" src="<?php echo $d['image5']; ?>"   title="clic pour agrandir" alt="image" /></a>
                        <a href="<?php echo $d['image6']; ?>" rel="lightbox"> <img class="image2_3" src="<?php echo $d['image6']; ?>"   title="clic pour agrandir" alt="image" /></a>
                        <a href="<?php echo $d['image7']; ?>" rel="lightbox"> <img class="image2_3" src="<?php echo $d['image7']; ?>"   title="clic pour agrandir" alt="image" /></a>
                        <br/>
                    </div> <!--fermeture div image deco-->
                    </div> <!--fermeture div texte fin-->
                </div> <!--fermeture div cadre1-->
            </div> <!--fermeture div deco-->
   
                   
        <?php
                }
                echo '<p class="page" style="text-align: center;">Page : ';
                for($i=1; $i<=$nombredepages; $i++) //On fait notre boucle
                {
                    //On va faire notre condition
                    if($i==$pageactuelle) //Si il s'agit de la page actuelle...
                    {
                    echo ' [ '.$i.' ] ';
                    }   
                    else //Sinon...
                    {
                    echo ' <a href="test.php?page='.$i.'" style="color:#7b7a7a;">'.$i.'</a> ';
                    }
                }
                echo '</p>';
            }
        }

       
        ?>


Voilà si quelqu'un peut m'aider car ça fait 4 jours que je cale là-dessus, j'ai beau lire et relire les tuto et explications sur le sujet, je ne trouve que la réponse pour une pagination simple et pas pour une pagination dans un résultat de recherche.....c'est là le problème (pour une pagination simple je n'ai pas de soucis)

Je vous remercie d'avance pour vos réponses, bonne journée à tous


Cette discussion est classée dans : page, mysql, recherche, choix, total


Répondre à ce message

Sujets en rapport avec ce message

Script affichage page par page/ avec recherche multi-criteres [ par LaTatadu91 ] Bonjour,Voila je cherche un exemple de script qui aurait pour but a l'aide d'un simple formulairede laisser libre choix a l'utilisateur d'effectuer un php & mysql [ par chako ] Salut, je suis entrain de développer une page web qui permet de la recherche dans la base de donnée à l'aide de php & mysql et j'utilise wamp5_1.7.4.e Faire apparaitre les réponses d'un formulaire dans une petite fenêtre [ par Gille59 ] BonjourPour ma généalogie je reçois les données venant d'une base dans une page.Les données reçues sont des noms avec prénoms différents pour un même aide conserver variable avec pagination [ par kilvan90 ] bonjourdonc voila j'ai fais une page ou on fait une rechecher et apres une pagination pour afficher les resultats de la recherche page par pagela requ livre d'or ( message de : X à X ) [ par piteur30 ] Bonjourdans le cadre de mon livre d'or j'aimerai afficher le nombre du 1er et dernier messa inserer une saisi dans une requete SQL [ par ashron54 ] Bonjour,désolé si le titre n'est pas très explicite mais je ne sais pas trop comment formuler ca, donc je me lance :je créer une page de formulaire da joomla moteur de recherche [ par haythemsorbonne ] Chers Joomlistes, Je demande votre aide de toute urgence pour un problème de moteur de recherche sur le site que je conçois actuellement. Je vous expo Recherche une période de date à date. [ par Calypdoso ] Bonjour et merci pour vos aident précédentes. Je poursuis le développement dem on site. Tout se passe globalement bien et j'essais de ne pas trop vous Recherche programmeur PHP+MySql [ par Armanol ] Bonjour, Je suis dans un projet d'un site internet mais il me manque un programmeur en php+Mysql Je suis deja avec deux potes Un qui connait le java liste déroulante et affichage autoamtique sur la même page [ par cbst ] Salut à tous[^^happy5] voilà j'ai crée en php une liste déroulante de code services rempli à partir de la base donnée et je voudrais, après une clique


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,452 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales