2012-02-22 26 views
0

我希望標題有意義....基本上我創建了PHP腳本從數據庫中取數據並顯示,然後我寫了一些代碼以供使用一個下拉菜單來訂購這些數據。這一切工作正常,直到我試圖利用一些分頁。我可以使分頁工作,我可以做訂購工作,但不是在同一時間!目前我擁有的代碼將允許我排列列表並對其進行幾乎分類。有40個結果,我想一次顯示10個結果。當不使用訂購代碼時,我可以完美分頁,但是當我嘗試整合代碼的兩個位時,它只會顯示前10個結果,而不會給我一個選項,可以進入下一頁查看其餘的內容! (請記住,我纔開始學習5個DAS前,所以我仍然得到認真處理它使用下拉菜單來從數據庫中同時排序從數據庫中取出的列表

代碼:!

如果(isset($ _ GET [ '開始'])) {

$ _GET [ '開始'] =​​ 0;}

$ per_page = 10; $開始= $ _GET [ '開始'];

if (!$start) 
    $start = 0; 



$sort = @$_POST['order']; 
if (!empty($sort)) { 
$get = mysql_query("SELECT bookname, bookauthor, bookpub, bookisbn 
      FROM booktable 
      ORDER BY ".mysql_real_escape_string($_POST['order'])." ASC 
      LIMIT $start, $per_page"); 
} 
else { 
$get = mysql_query("SELECT bookname, bookauthor, bookpub, bookisbn 
       FROM booktable 
       ORDER BY bookname ASC 
       LIMIT $start, $per_page"); 
} 

$record_count = mysql_num_rows($get); 


?> 
<?php 
if (isset($_GET['showerror'])) 
$errorcode = $_GET['showerror']; 
else 
$errorcode = 0; 
?> 

不會包含所有的HTML垃圾和訂購菜單!

<div id="mid"> 

<?php 
echo "<table>"; 
echo "<tr>"; 
echo "<th>"; 

echo "</th>"; 
echo "<th>"; 
echo "Book Title"; 
echo "</th>"; 
echo "<th>"; 
echo "Book Author"; 
echo "</th>"; 
echo "<th>"; 
echo "Book Publisher"; 
echo "</th>"; 
echo "<th>"; 
echo "Book ISBN"; 
echo "</th>"; 
echo "<th>"; 

echo "</th>"; 
echo "</tr>"; 
while ($row = mysql_fetch_assoc($get)) 
{ 
// get data 
$bookname = $row['bookname']; 
$bookauthor = $row['bookauthor']; 
$bookpub = $row['bookpub']; 
$bookisbn = $row['bookisbn']; 



    echo "<tr>"; 
    echo "<td>"; 
    echo "<a href='addtolist.php?bookname=".$bookname."&bookauthor=".$bookauthor."&bookpub=".$bookpub."&bookisbn=".$bookisbn."'>Add to basket</a>"; 

    echo "</td>"; 

    echo "<td>"; 
    echo $bookname; 
    echo "</td>"; 

    echo "<td>"; 
    echo $bookauthor; 
    echo "</td>"; 

    echo "<td>"; 
    echo $bookpub; 
    echo "</td>"; 

    echo "<td>"; 
    echo $bookisbn; 
    echo "</td>"; 

    echo "</tr>"; 


} 

echo "</table>"; 

$prev = $start - $per_page; 
$next = $start + $per_page; 

if (!($start<=0)) 
     echo "<a href='products.php?start=$prev'>Prev</a> "; 

     //set variable for first page number 
$i=1; 

//show page numbers 
for ($x = 0; $x < $record_count; $x = $x + $per_page) 
{ 
if ($start != $x) 
    echo "<a class='pagin' href='products.php?start=$x'> $i </a>"; 
else 
    echo "<a class='pagin' href='products.php?start=$x'><b> $i </b></a>"; 
$i++; 
} 

//show next button 
if (!($start >= $record_count - $per_page)) 
     echo "<a class='pagin' href='products.php?start=$next'> Next </a>"; 
?> 

非常感謝您的閱讀!

回答

1

Simpliest辦法只是改變$sort = @$_POST['order'];$sort = @$_REQUEST['order'];並添加到您的分頁鏈接&order=$order

+0

感謝您的答覆 - 改變了崗位的要求,但是當你說$爲了增加與秩序=的分頁鏈接,做我把它們在if語句中,&意味着什麼? – Phil 2012-02-22 21:27:54

+0

我的意思是給'echo「添加命令」;'分頁時保存命令 – Electronick 2012-02-22 21:53:36

相關問題