【发布时间】:2015-12-28 19:25:22
【问题描述】:
我有一个名为 Quizes.php 的主页,其中包含一个显示页面列表的分页脚本,即 [1][2][3]..... 我的代码与包含链接的<a href ....> 一起工作正常到“下一个”、“上一个”、“最后一个”和“第一个”,但在 '<form method="get" action="?page=".$next."" >'; 提交按钮不起作用。看起来action="?page=".$next.""是错误的。那么最好的方法是什么?
我也遇到了这些链接 PHP: Pagination with submit button , Submit form in a displaytag pagination 和其他但没有帮助。
<?php
$page = $_GET['page'];
if($page == ""){
$page = "1";
}else{
// If page is set, let's get it
$page = $_GET['page'];
}
// Now lets get all messages from your database
$sql = "SELECT * FROM quizes";
$query = mysql_query($sql);
// Lets count all messages
$num = mysql_num_rows($query);
// Lets set how many messages we want to display
$per_page = "2";
// Now we must calculate the last page
$last_page = ceil($num/$per_page);
echo 's', $num;
// And set the first page
$first_page = "1";
// Here we are making the "First page" link
echo "<a href='?page=".$first_page."'>First page</a> ";
// If page is 1 then remove link from "Previous" word
if($page == $first_page){
echo "Previous ";
}else{
if(!isset($page)){
echo "Previous ";
}else{
// But if page is set and it's not 1.. Lets add link to previous word to take us back by one page
$previous = $page-1;
echo "<a href='?page=".$previous."'>Previous</a> ";
}
}
// If the page is last page.. lets remove "Next" link
if($page == $last_page){
echo "Next ";
}else{
// If page is not set or it is set and it's not the last page.. lets add link to this word so we can go to the next page
if(!isset($page)){
$next = $first_page+1;
echo "<a href='?page=".$next."'>Next</a> ";
}else{
$next = $page+1;
echo "<a href='?page=".$next."'>Next</a> ";
}
}
// And now lets add the "Last page" link
echo "<a href='?page=".$last_page."'>Last page</a>";
// Math.. It gets us the start number of message that will be displayed
$start = ($page-1)*$per_page;
// Now lets set the limit for our query
$limit = "LIMIT $start, $per_page";
// It's time for getting our messages
$sql = "SELECT * FROM quizes $limit";
$query = mysql_query($sql);
echo "<br /><br />";
// And lets display our messages
$i=0;
while($row = mysql_fetch_array($query) or die(mysql_error())){
$a= $row['A'];
echo '<form method="get" action="?page=".$next."" >'; // is that correct way?????
while ($row=mysql_fetch_array($query))
{
echo '<div class="boxed" >';
echo "\t".'<tr><th>'.
$row['question']."<br>".
'</th><th>'."<input type='radio' name= '.$i' value='{$row['A']}'>".$row['A']."<br>".
'</th><th>'."<input type='radio' name='.$i' value='{$row['B']}'>".$row['B']."<br>".
'</th><th>'."<input type='radio' name='.$i' value='{$row['C']}'>".$row['C']."<br>".
'</th><th>'."<input type='radio' name='.$i' value='{$row['D']}'>".$row['D'].'</th>
</tr>';
// echo '<input type="hidden" name="page" value="">';
echo '<input type="submit" name="submit"/>';
$i++;
echo '</div>';
echo '</div>';
}
echo '</form>';
}
?>
请帮帮我。
【问题讨论】:
标签: php html pagination