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
    Membre confirmé
    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
    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
    Membre confirmé
    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
    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, 17h35
  2. formulaire et affichage multi-pages
    Par lnikolanta dans le forum Langage
    Réponses: 4
    Dernier message: 07/05/2009, 03h04
  3. [Tableaux] Temps de traitement ... affichage de page
    Par mathieu77186 dans le forum Langage
    Réponses: 37
    Dernier message: 25/10/2005, 17h45
  4. [Debutant]Multi page sous sql serveur
    Par christophebmx dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 26/11/2004, 17h23

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