2012-02-22 12 views
1

ですCSSをオーバーライドし、すべてのdivをページの右側に整列させます。次の3つの結果を表示するには、「次へ」をクリックします。PHP - ページネーションと場所の結果は、私はいくつかのページネーションで私の手を試してみましたが、それは私に非常に予想外の結果が得られます....</p> <p>最初はそれが改ページの最初のページにそれが思われることであるテーブル

第2の問題は、結果を表示するテーブルが機能していないことです。ページネーションの各ページの最初の結果が表に表示されますが、次の2つの結果(ページあたり3つの結果)がページに表示されますが、表には表示されません。

コードはかなり長いですが、ここで行く:

<?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; 
?> 

それから私は、これはどのようにページの外観(画像1)(表です

<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; ?> 

すべてunnecesaryのhtmlをカットします国境問題)

image1

私が私の前に言ったようにALSを示しOリストが最初に表示されます問題を取得し、ページには、このように見える終わる:(画像2)

image2

あなたは、彼らがどのように異なるかを見ることができます!

私は理にかなっていることを願っています!

答えて

3

最初に、whileループに</table>タグがあります。それを変更し、他のすべてが収まっているかどうか確認してください。

+0

ありがとうございました...それは私が見つけるソートは、常に最も簡単なものです! 最初のページのアイデアはちょっと怪しいですか?テーブルは私のテーブルの問題を整理しますが、最初のページはまだ奇妙です(画像) – Phil

+0

問題は未定義のインデックス 'start'ですが、これを変更または修正する方法はわかりません – Phil

+0

!ダミーbooleon値で開始を設定する! – Phil

関連する問題

 関連する問題