1

各ページにレコード数を表示するページがあります。各ページに 5 件のレコードを表示し、次のページに次の 5 件というように表示しています。ページングは​​正常に機能していますが、問題は最初のページにあります。各レコードの横に連続した数字、つまり 1 から 5 を表示しています。次に、次のページでは 6 から 10 までの数字を表示し、次のページでは 11 から 15 などを表示する必要があります。 . しかし、すべてのページ番号は 1 から 5 までです。私のコードは以下のとおりです。さまざまな戦略を試しましたが、何もうまくいきませんでした。コードを確認し、適切に動作するように変更する場所を教えてください。事前に感謝します。

<div class="grid_12">
    <div class="box first round fullpage mh500 grid">
        <h2><?php echo $resource->_pageHead; ?></h2>
        <?php  $resource->displayMessage(); ?>
        <?php   
            if($resource->_recordCount > 0)
            {
        ?>
            <div class="block">
                <table class="listing" >
                    <thead>
                        <tr>
                            <th width="50" class="bdr-left">Sr. No.</th>
                            <th width="60">Name</th>
                            <th width="60">Email</th>
                            <th width="60">Address</th>
                            <th width="60">City</th>
                            <th width="60">State</th>
                            <th width="60">Phone Number</th>
                            <th width="60">Country</th>
                            <th width="60">Comment</th>
                            <th width="60">Inquiry Date</th>
                            <th width="60" class="bdr-right">Action</th>
                        </tr>
                    </thead>
                    <tbody>
                    <?php
                        $i = 1;
                        $_SESSION['number'] = $i;
                        $perpage = 5;
                        $q = mysql_query("SELECT * FROM $resource->_table");
                        $total_record = mysql_num_rows($q);
                        $pages = ceil($total_record/$perpage);
                        $page = (isset($_GET['page']))?$_GET['page']:1;
                        $start = ($page-1) * $perpage;
                        $result = mysql_query("SELECT * FROM $resource->_table LIMIT $start, $perpage");
                        while($res = mysql_fetch_array($result))
                        {
                    ?>      
                            <tr class="odd gradeX">
                                <td><?php echo $i; ?></td>
                                <td><?php echo $res['name']; ?></td>
                                <td><?php echo $res['email'];?></td>
                                <td><?php echo $res['address'];?></td>
                                <td><?php echo $res['city'];?></td>
                                <td><?php echo $res['state'];?></td>
                                <td><?php echo $res['p_code']."-".$res['p_num'];?></td>
                                <td><?php echo $res['country'];?></td>
                                <td><?php echo substr($res['comments'], 0, 100);echo "...";?></td>
                                <td><?php echo $res['inquiry_date'];?></td>
                                <td align="center">
                                    <a href="<?php echo $_SERVER['PHP_SELF'].'?action=delete&id='.$res['id'];?>" onclick="return confirm('Do you want to delete this record?');">
                                        <img src="img/cross.png" alt="Delete" title="Delete"/>
                                    </a>
                                </td>
                            </tr>
                    <?php
                            $i++;
                        }
            }
                    ?>
                    </tbody>
                </table>
            </div>
            <div id="paging" style="padding-left:500px;">
                <?php
                    $prev=$page-1;
                    $next=$page+1;
                    if($prev > 0)
                    {
                        echo "<a href='?page=$prev'>Prev</a>";
                    }
                    echo "&nbsp;&nbsp;";
                    if($pages >= 1 AND $page <= $pages)
                    {
                        for($x=1;$x<=$pages;$x++)
                        {
                            echo "&nbsp;&nbsp;";
                            echo ($x==$page) ?"<a href=?page=$x style=\"font-weight:normal;\">$x</a>":'<a href="?page='.$x.'" >'.$x.'</a>';
                        }
                        echo "&nbsp&nbsp";
                        if($page<$pages)
                        {
                            echo "<a href='?page=$next'>Next</a>";
                        }
                    }
                ?>
            </div>
    </div>
    <div class="clear"></div>
</div>
4

3 に答える 3

1

の代わりにecho $i; これを試して

$j= (($page-1) * $perpage) + i; echo $j;
于 2014-07-17T12:24:09.353 に答える
0
You can go to this website and there is a simple example of pagination
http://snipplr.com/view/55519/ 
hope this works for you.
于 2013-05-24T10:17:41.183 に答える