2012-02-22 42 views
1

我已經試過我的手在某個分頁,但它給了我非常意外的結果....PHP - 分頁和地點的結果是一個表

第一個是它的頁碼的第一頁上,似乎重寫CSS並將所有div對齊到頁面的右側......然後當你點擊'next'來查看接下來的三個結果等等時,頁面會按照CSS告訴它!

第二個問題是顯示結果的表似乎不起作用。分頁的每個頁面上的第一個結果在表格中,接下來的兩個結果(每頁三個結果)顯示在頁面上,但是在下面而不是在表格中!

的代碼是很長,但在這裏我們去:

<?php 
session_start(); 
if (!isset($_SESSION['username'])) 
{ 
header("Location:index.php"); 
exit(); 
} 

//connect to database 

require "dbconn.php"; 


$per_page = 3; 
$start = $_GET['start']; 





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


$results = mysql_query($query) 
      or die (mysql_error()); 

$record_count = mysql_num_rows($results); 
if (!$start) 
    $start = 0; 

$get = mysql_query("SELECT * FROM booktable LIMIT $start, $per_page"); 
?> 
<?php 
if (isset($_GET['showerror'])) 
$errorcode = $_GET['showerror']; 
else 
$errorcode = 0; 
?> 

然後,我將切斷所有unnecesary HTML

<div id="mid"> 

<?php 
echo "<table border='2px'>"; 
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 href='products.php?start=$x'>$i</a>"; 
else 
    echo "<a href='products.php?start=$x'><b>$i</b></a>"; 
$i++; 
} 

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



<?php echo $record_count; ?> 

這是怎樣的網頁外觀(圖片1)(表邊框顯示的問題)

image1

正如我我以前說過阿爾斯Ø獲得第一時被顯示在列表中的問題和頁面最終看起來是這樣的:(圖像2)

image2

你可以看到它們的區別!

我希望我有道理!

回答

3

對於初學者,您的while循環中有</table>標記。改變這一點,看看是否一切都落到了位置。

+0

多數民衆贊成在謝謝你......它總是最簡單的事情,我發現它! 第一頁上的任何想法看起來有點吱吱作響?該表整理我的表問題,但看起來奇怪的第一頁仍然存在(圖像) – Phil 2012-02-22 19:37:23

+0

問題是一個未定義的索引'開始',但我不知道如何去改變或修復這 – Phil 2012-02-22 19:39:55

+0

不要擔心,用!isset設置一個虛擬booleon值開始! – Phil 2012-02-22 19:43:35