Pagination Question...

  • Brian Jester
  • Beginner
  • Beginner
  • No Avatar
  • Inscription: Jan 06, 2006
  • Messages: 61
  • Loc: Bayonne, New Jersey USA
  • Status: Offline

Message Novembre 22nd, 2009, 8:36 am

Salut,

Je suis d'essayer un script de pagination PHP (en utilisant MySQL)...Ayez-en local sur mon serveur de test cela fonctionne bien, le seul problème que j'éprouve est que je veux que les résultats soient affichés dans un tableau HTML qui peut être ajusté. Ex: tr $ et $ td afin que je puisse fixer ces pour le montant de lignes et de colonnes dans la table. Un tableau HTML dynamique.

Heres tout le code (script pagination d'abord, puis le code actuel, je me sers pour faire écho le html), actuellement il affiche une seule rangée d'images et je voudrais qu'il afficher plus d'une rangée. Mais j'aimerais être capable de l'ajuster comme je le disais ci-dessus afin que je puisse l'adapter en fonction de la résolution.

Code: [ Select ]
<html>
<head><title>Visit My Site - The Next Generation of Web Advertising!</title>
<link href="style.css" rel="stylesheet" type="text/css">
</head>
<body>

<?php

// Pagnination Script ------------------------------------------------------------------------------------------------------------------------------
    include('config.php');    // include your code to connect to DB.

    $tbl_name="ap_form_1";        //your table name
    // How many adjacent pages should be shown on each side?
    $adjacents = 1;
    
    /*
      First get total number of rows in data table.
      If you have a WHERE clause in your query, make sure you mirror it here.
    */
    $query = "SELECT COUNT(*) as num FROM $tbl_name";
    $total_pages = mysql_fetch_array(mysql_query($query));
    $total_pages = $total_pages[num];
    
    /* Setup vars for query. */
    $targetpage = "page.php";     //your file name (the name of this file)
    $limit = 6;             //how many items to show per page
    $page = $_GET['page'];
    if($page)
        $start = ($page - 1) * $limit;             //first item to display on this page
    else
        $start = 0;                                //if no page var is given, set start to 0
    
    /* Get data. */
    $sql = "SELECT * FROM $tbl_name ORDER BY element_4 LIMIT $start, $limit";
    $result = mysql_query($sql);

  
    /* Setup page vars for display. */
    if ($page == 0) $page = 1;                    //if no page var is given, default to 1.
    $prev = $page - 1;                            //previous page is page - 1
    $next = $page + 1;                            //next page is page + 1
    $lastpage = ceil($total_pages/$limit);        //lastpage is = total pages / items per page, rounded up.
    $lpm1 = $lastpage - 1;                        //last page minus 1
    
    /*
        Now we apply our rules and draw the pagination object.
        We're actually saving the code to a variable in case we want to draw it more than once.
    */

    $pagination = "";
    if($lastpage > 1)
    {    
        $pagination .= "<div class=\"pagination\">";
        //previous button
        if ($page > 1)
           $pagination.= "<a href=\"$targetpage?page=$prev\"><< previous </a>";
        else
            $pagination.= "<span class=\"disabled\"><< previous </span>";    
        
        //pages    
        if ($lastpage < 7 + ($adjacents * 2))    //not enough pages to bother breaking it up
        {    
            for ($counter = 1; $counter <= $lastpage; $counter++)
            {
                if ($counter == $page)
                    $pagination.= "<span class=\"current\">$counter</span>";
                else
                    $pagination.= "<a href=\"$targetpage?page=$counter\">$counter</a>";                    
            }
        }
        elseif($lastpage > 5 + ($adjacents * 2))    //enough pages to hide some
        {
            //close to beginning; only hide later pages
            if($page < 1 + ($adjacents * 2))        
            {
                for ($counter = 1; $counter < 4 + ($adjacents * 2); $counter++)
                {
                    if ($counter == $page)
                        $pagination.= "<span class=\"current\">$counter</span>";
                    else
                        $pagination.= "<a href=\"$targetpage?page=$counter\">$counter</a>";                    
                }
                $pagination.= "...";
                $pagination.= "<a href=\"$targetpage?page=$lpm1\">$lpm1</a>";
                $pagination.= "<a href=\"$targetpage?page=$lastpage\">$lastpage</a>";        
            }
            //in middle; hide some front and some back
            elseif($lastpage - ($adjacents * 2) > $page && $page > ($adjacents * 2))
            {
                $pagination.= "<a href=\"$targetpage?page=1\">1</a>";
                $pagination.= "<a href=\"$targetpage?page=2\">2</a>";
                $pagination.= "...";
                for ($counter = $page - $adjacents; $counter <= $page + $adjacents; $counter++)
                {
                    if ($counter == $page)
                        $pagination.= "<span class=\"current\">$counter</span>";
                    else
                        $pagination.= "<a href=\"$targetpage?page=$counter\">$counter</a>";                    
                }
                $pagination.= "...";
                $pagination.= "<a href=\"$targetpage?page=$lpm1\">$lpm1</a>";
                $pagination.= "<a href=\"$targetpage?page=$lastpage\">$lastpage</a>";        
            }
            //close to end; only hide early pages
            else
            {
                $pagination.= "<a href=\"$targetpage?page=1\">1</a>";
                $pagination.= "<a href=\"$targetpage?page=2\">2</a>";
                $pagination.= "...";
                for ($counter = $lastpage - (2 + ($adjacents * 2)); $counter <= $lastpage; $counter++)
                {
                    if ($counter == $page)
                        $pagination.= "<span class=\"current\">$counter</span>";
                    else
                        $pagination.= "<a href=\"$targetpage?page=$counter\">$counter</a>";                    
                }
            }
        }
        
        //next button
        if ($page < $counter - 1)
            $pagination.= "<a href=\"$targetpage?page=$next\"> next >></a>";
        else
            $pagination.= "<span class=\"disabled\"> next >></span>";
        $pagination.= "</div>\n";        
    }

// End Pagnination Script ------------------------------------------------------------------------------------------------------------------------------
?>
  1. <html>
  2. <head><title>Visit My Site - The Next Generation of Web Advertising!</title>
  3. <link href="style.css" rel="stylesheet" type="text/css">
  4. </head>
  5. <body>
  6. <?php
  7. // Pagnination Script ------------------------------------------------------------------------------------------------------------------------------
  8.     include('config.php');    // include your code to connect to DB.
  9.     $tbl_name="ap_form_1";        //your table name
  10.     // How many adjacent pages should be shown on each side?
  11.     $adjacents = 1;
  12.     
  13.     /*
  14.       First get total number of rows in data table.
  15.       If you have a WHERE clause in your query, make sure you mirror it here.
  16.     */
  17.     $query = "SELECT COUNT(*) as num FROM $tbl_name";
  18.     $total_pages = mysql_fetch_array(mysql_query($query));
  19.     $total_pages = $total_pages[num];
  20.     
  21.     /* Setup vars for query. */
  22.     $targetpage = "page.php";     //your file name (the name of this file)
  23.     $limit = 6;             //how many items to show per page
  24.     $page = $_GET['page'];
  25.     if($page)
  26.         $start = ($page - 1) * $limit;             //first item to display on this page
  27.     else
  28.         $start = 0;                                //if no page var is given, set start to 0
  29.     
  30.     /* Get data. */
  31.     $sql = "SELECT * FROM $tbl_name ORDER BY element_4 LIMIT $start, $limit";
  32.     $result = mysql_query($sql);
  33.   
  34.     /* Setup page vars for display. */
  35.     if ($page == 0) $page = 1;                    //if no page var is given, default to 1.
  36.     $prev = $page - 1;                            //previous page is page - 1
  37.     $next = $page + 1;                            //next page is page + 1
  38.     $lastpage = ceil($total_pages/$limit);        //lastpage is = total pages / items per page, rounded up.
  39.     $lpm1 = $lastpage - 1;                        //last page minus 1
  40.     
  41.     /*
  42.         Now we apply our rules and draw the pagination object.
  43.         We're actually saving the code to a variable in case we want to draw it more than once.
  44.     */
  45.     $pagination = "";
  46.     if($lastpage > 1)
  47.     {    
  48.         $pagination .= "<div class=\"pagination\">";
  49.         //previous button
  50.         if ($page > 1)
  51.            $pagination.= "<a href=\"$targetpage?page=$prev\"><< previous </a>";
  52.         else
  53.             $pagination.= "<span class=\"disabled\"><< previous </span>";    
  54.         
  55.         //pages    
  56.         if ($lastpage < 7 + ($adjacents * 2))    //not enough pages to bother breaking it up
  57.         {    
  58.             for ($counter = 1; $counter <= $lastpage; $counter++)
  59.             {
  60.                 if ($counter == $page)
  61.                     $pagination.= "<span class=\"current\">$counter</span>";
  62.                 else
  63.                     $pagination.= "<a href=\"$targetpage?page=$counter\">$counter</a>";                    
  64.             }
  65.         }
  66.         elseif($lastpage > 5 + ($adjacents * 2))    //enough pages to hide some
  67.         {
  68.             //close to beginning; only hide later pages
  69.             if($page < 1 + ($adjacents * 2))        
  70.             {
  71.                 for ($counter = 1; $counter < 4 + ($adjacents * 2); $counter++)
  72.                 {
  73.                     if ($counter == $page)
  74.                         $pagination.= "<span class=\"current\">$counter</span>";
  75.                     else
  76.                         $pagination.= "<a href=\"$targetpage?page=$counter\">$counter</a>";                    
  77.                 }
  78.                 $pagination.= "...";
  79.                 $pagination.= "<a href=\"$targetpage?page=$lpm1\">$lpm1</a>";
  80.                 $pagination.= "<a href=\"$targetpage?page=$lastpage\">$lastpage</a>";        
  81.             }
  82.             //in middle; hide some front and some back
  83.             elseif($lastpage - ($adjacents * 2) > $page && $page > ($adjacents * 2))
  84.             {
  85.                 $pagination.= "<a href=\"$targetpage?page=1\">1</a>";
  86.                 $pagination.= "<a href=\"$targetpage?page=2\">2</a>";
  87.                 $pagination.= "...";
  88.                 for ($counter = $page - $adjacents; $counter <= $page + $adjacents; $counter++)
  89.                 {
  90.                     if ($counter == $page)
  91.                         $pagination.= "<span class=\"current\">$counter</span>";
  92.                     else
  93.                         $pagination.= "<a href=\"$targetpage?page=$counter\">$counter</a>";                    
  94.                 }
  95.                 $pagination.= "...";
  96.                 $pagination.= "<a href=\"$targetpage?page=$lpm1\">$lpm1</a>";
  97.                 $pagination.= "<a href=\"$targetpage?page=$lastpage\">$lastpage</a>";        
  98.             }
  99.             //close to end; only hide early pages
  100.             else
  101.             {
  102.                 $pagination.= "<a href=\"$targetpage?page=1\">1</a>";
  103.                 $pagination.= "<a href=\"$targetpage?page=2\">2</a>";
  104.                 $pagination.= "...";
  105.                 for ($counter = $lastpage - (2 + ($adjacents * 2)); $counter <= $lastpage; $counter++)
  106.                 {
  107.                     if ($counter == $page)
  108.                         $pagination.= "<span class=\"current\">$counter</span>";
  109.                     else
  110.                         $pagination.= "<a href=\"$targetpage?page=$counter\">$counter</a>";                    
  111.                 }
  112.             }
  113.         }
  114.         
  115.         //next button
  116.         if ($page < $counter - 1)
  117.             $pagination.= "<a href=\"$targetpage?page=$next\"> next >></a>";
  118.         else
  119.             $pagination.= "<span class=\"disabled\"> next >></span>";
  120.         $pagination.= "</div>\n";        
  121.     }
  122. // End Pagnination Script ------------------------------------------------------------------------------------------------------------------------------
  123. ?>


Commencer la production des tableaux de codes

Code: [ Select ]
<div align="center">


<?php

// Table output code

$tr = 4;
$td = 5;

for($i = 0; $i < $tr; $i++)
{
   echo '<tr>';
   for($j = 0; $j < $td; $j++)
   {
   echo '<td>';

while($row = mysql_fetch_array($result))
echo "<img src=\"machform/data/form_1/files/".$row['element_3']."\" border=\"1\" alt=\"".$row['element_1']."\" title=\"".$row['element_1']."\">";
echo "<br />";
echo "Price: $$row[element_4]";

     echo '</td>';
   }
   echo '</tr>';
}

?>

</div>

<?=$pagination?>
<p />
  1. <div align="center">
  2. <?php
  3. // Table output code
  4. $tr = 4;
  5. $td = 5;
  6. for($i = 0; $i < $tr; $i++)
  7. {
  8.    echo '<tr>';
  9.    for($j = 0; $j < $td; $j++)
  10.    {
  11.    echo '<td>';
  12. while($row = mysql_fetch_array($result))
  13. echo "<img src=\"machform/data/form_1/files/".$row['element_3']."\" border=\"1\" alt=\"".$row['element_1']."\" title=\"".$row['element_1']."\">";
  14. echo "<br />";
  15. echo "Price: $$row[element_4]";
  16.      echo '</td>';
  17.    }
  18.    echo '</tr>';
  19. }
  20. ?>
  21. </div>
  22. <?=$pagination?>
  23. <p />
  • Anonymous
  • Bot
  • No Avatar
  • Inscription: 25 Feb 2008
  • Messages: ?
  • Loc: Ozzuland
  • Status: Online

Message Novembre 22nd, 2009, 8:36 am

  • Brian Jester
  • Beginner
  • Beginner
  • No Avatar
  • Inscription: Jan 06, 2006
  • Messages: 61
  • Loc: Bayonne, New Jersey USA
  • Status: Offline

Message Novembre 24th, 2009, 1:04 pm

Nevermind, figurait celui-ci dehors

Afficher de l'information

  • Total des messages de ce sujet: 2 messages
  • Utilisateurs parcourant ce forum: roelof et 186 invités
  • Vous ne pouvez pas poster de nouveaux sujets
  • Vous ne pouvez pas répondre aux sujets
  • Vous ne pouvez pas éditer vos messages
  • Vous ne pouvez pas supprimer vos messages
  • Vous ne pouvez pas joindre des fichiers
 
 

© 2011 Unmelted, LLC. Ozzu® est une marque déposée de Unmelted, LLC