IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

Affichage multi page [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2008
    Messages
    67
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 67
    Points : 38
    Points
    38
    Par défaut Affichage multi page
    Bonjour,
    J'essaie en vain de mettre en place un affichage multi page sur mon composant annuaire de joomla (peoplebook). Seule ma première page avec mes 5 premiers résultats s'affiche. Quand je clique sur suivant ou sur un numéro de page, ça revient toujours à cette même page avec les 5 premiers résultats. Comment faire pour que $position s'incrémente correctement?
    Voilà le code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    $result = mysql_query( "SELECT * FROM jos_peoplebook");
    $nombre_commentaires = mysql_num_rows($result);
     
     
    $nombre_par_page = 5;  // on va afficher 5 résultats par page.
    $nombre_de_pages=intval(($nombre_commentaires-1)/$nombre_par_page)+1;
       if ($position=="") $position=0;
       $page_courante=intval(($position/$nombre_commentaires)*$nombre_de_pages)+1;
     
     
       // AFFICHAGE DU NOMBRE DE COMMENTAIRES
       print ("<center>");
       print ("( $nombre_commentaires membre");
       if ($nombre_commentaires>1) print ("s");
       print (" )<br>");
     
       // AFFICHAGE DU PREV
       if ($page_courante!="1")
       {
          $nouvelle_position=(($page_courante-1)*$nombre_par_page)-$nombre_par_page;
          print ("<a href=cette_page.php?position=$nouvelle_position>");
     
       }
       print ("prec");
       if ($page_courante!="1") print ("</a>");
       print (" ");
     
       // AFFICHAGE DES PAGES 1 A 5
       $i=1; while ($i<6)
       {
          if ($nombre_de_pages>($i-1) && $page_courante!="$i")
          {
             $new_pos=$nombre_par_page*($i-1);
             print ("<a href=index.php?option=com_peoplebook&Itemid=47?position=$new_pos>");
     
          }
          print ("$i");
          if ($nombre_de_pages>($i-1) && $page_courante!="$i") { print ("</a>"); }
          print (" ");
          $i++;
       }
     
       // AFFICHAGE DU NEXT
       if ($nombre_de_pages>$page_courante)
       {
          $nouvelle_position=(($page_courante+1)*$nombre_par_page)-$nombre_par_page;
          print ("<a href=index.php?option=com_peoplebook&Itemid=47?position=$nouvelle_position>");
     
       }
        print ("suiv");
       if ($nombre_de_pages>$page_courante) print ("</a>");
     
       print ("<br><br></center>");
     
     
     
          #Prepare Content
          if( !isset($search) || $search == '' ) {
    	    $database->setQuery("SELECT * FROM #__peoplebook WHERE published='1' AND catid='$row1->id' ORDER BY LOWER($sort_field) $sort_order LIMIT ".$position.",".$nombre_par_page."");
                $srows = $database->loadObjectList();
          }
          else {
          	   if ( !is_array($search) ) {
    	      $search_cour = $search." AND published='1' AND catid='$row1->id' ORDER BY LOWER($sort_field) $sort_order LIMIT ".$position.",".$nombre_par_page."";
      	      $database->setQuery($search_cour);
        	      $srows = $database->loadObjectList();
               }
               else {
           	      foreach ($search as $search_line) {
    	         $search_cour = $search_line." AND published='1' AND catid='$row1->id' ORDER BY LOWER($sort_field) $sort_order LIMIT ".$position.",".$nombre_par_page."";
      	      	 $database->setQuery($search_cour);
        	      	 $srows += $database->loadObjectList();
    	      }
               }
          }

  2. #2
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2008
    Messages
    67
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 67
    Points : 38
    Points
    38
    Par défaut
    J'ai finalement trouvé tout seul mon erreur. Elle venait du lien pour les boutons suivant et précédent : à savoir

    a href=index.php?option=com_peoplebook&Itemid=47&position=$new_pos

    et non pas :

    a href=index.php?option=com_peoplebook&Itemid=47?position=$new_pos

    Voilà j'espère que ca pourra en aider d'autres.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Mise en page et affichage multi-pages
    Par tyler94 dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 50
    Dernier message: 14/05/2009, 18h35
  2. formulaire et affichage multi-pages
    Par lnikolanta dans le forum Langage
    Réponses: 4
    Dernier message: 07/05/2009, 04h04
  3. [Tableaux] Temps de traitement ... affichage de page
    Par mathieu77186 dans le forum Langage
    Réponses: 37
    Dernier message: 25/10/2005, 18h45
  4. [Debutant]Multi page sous sql serveur
    Par christophebmx dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 26/11/2004, 18h23

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo