当我在表格中有1条评论时,它没有显示任何内容。 当我在表中有2条评论时,它只显示第二条评论。我想由于某种原因它跳过第一个,有人可以帮忙吗? 非常感谢:)
require_once('config.php');
if(!isset($_GET['NewComment'])) {
echo "<a style='float:right;' href='?NewComment' class='btn btn-primary'> New Comment </a> <br /><br />";
$per_page = 4;
$start = 1;
if(!isset($_GET['page'])) {
$page = 1;
} else {
$page = $_GET['page'];
}
if($page <= 1) {
$start = 1;
$page = 1;
} else {
$start = $page * $per_page - $per_page;
}
$next = $page+1;
$previous = $page-1;
$GetAllComments = $con->query("SELECT * FROM comments LIMIT $start, $per_page");
$num_rows = $GetAllComments->num_rows;
$num_pages = $num_rows / $per_page;
while($GAC = $GetAllComments->fetch_object()) {
echo "<div class='well' style='overflow:auto;'> <h3>". $GAC->Title. "</h3>
". $GAC->Content. " <hr /> <em> Posted By ". $GAC->PosterName ." </em>
</div>";
}
for($i = 1; $i <= $num_pages; $i++) {
$pagen = $page+1;
$pagep = $page-1;
echo "
<div class='pagination'>
<ul>
";
if($page > 1) {
echo "
<li><a href='?page=$previous'>".$pagep."</a> </li>
";
}
echo "
<li class='disabled'><a href='#'>$page</a></li>
";
echo "
<li> <a href='?page=$next'>" . $pagen . "</a></li>
</ul>
</div>
";
}
}
elseif(isset($_GET['NewComment'])) {
echo "
<form action='' method='post'>
<h4>First Name:</h4><input type='text' name='fname' placeholder='First Name'>
<h4>Title:</h4><input type='text' name='title' placeholder='Comment Title'>
<textarea name='editor1'><p></p></textarea>
<script>
CKEDITOR.replace( 'editor1' );
</script><br />
<input type='submit' name='post' value='Post' class='btn btn-success'>
</form>
";
if(isset($_POST['post'])) {
$FirstName = $_POST['fname'];
$Title = $_POST['title'];
$Comment = $_POST['editor1'];
$addcomment = $con->prepare("INSERT INTO comments (PosterName, Title, Content) VALUES ('$FirstName','$Title','$Comment')");
$addcomment->execute();
}
}
?>
答案 0 :(得分:0)
在某种程度上,调试是非常简单的事情。你需要的只是两件事:
有了这两个,你可以很容易地比较它们。
说,你有PHP程序来构建一个SQL查询。 您是否检查过此计划的结果?号码 虽然你应该。
所以,你必须回应结果:
echo "SELECT * FROM comments LIMIT $start, $per_page"
如果查询是正确的,并且它在控制台中返回正确的结果 - 那么,现在我们必须检查下一个变量$num_rows
:
var_dump($num_rows);
是说1还是2?
......等等,涉及每个值或声明。
此外,您的分页已被破坏,因为您需要许多所有记录。这是一个正确的pagination example