我遇到了一些问题,我想这是来自这里:
if($thepage == "") {
$strSQL = "SELECT * FROM Banlist LIMIT 0 , 15";
}
if($thepage == 2) {
$strSQL = "SELECT * FROM Banlist LIMIT 15 , 30";
}
if($thepage == 3) {
$strSQL = "SELECT * FROM Banlist LIMIT 30 , 45";
}
if($thepage == 4) {
$strSQL = "SELECT * FROM Banlist LIMIT 45, 60";
}
if($thepage == 5) {
$strSQL = "SELECT * FROM Banlist LIMIT 60 , 75";
}
if($thepage == 6) {
$strSQL = "SELECT * FROM Banlist LIMIT 75 , 90";
}
if($thepage == 7) {
$strSQL = "SELECT * FROM Banlist LIMIT 90 , 105";
}
if($thepage == 8) {
$strSQL = "SELECT * FROM Banlist LIMIT 105 , 120";
}
在我的浏览器中,在PHP代码的HTML部分之前,它向我展示了这个:
} } } } } } } } } } } } } } }
什么似乎是问题?
PS:我想制作一些代码,让我成为这样的页面浏览器:
(page: 1 2 3 4 5 ... LAST)
答案 0 :(得分:2)
试试这个:
<?php
if(!isset($thepage) || ( $thepage==1 )) {
$startLimit = 0;
} else {
$startLimit = 15 * $thepage;
}
$strSQL = "SELECT * FROM Banlist LIMIT " . $startLimit . " , 15";
?>
简短而简单。
答案 1 :(得分:1)
你可以像这样清理它,然后就不需要if了。
$limitLength = 15;
$thepage = $thepage == ""? 1: $thepage;
$baseLimit = ($thepage-1) * $limitLength;
$strSQL = sprintf("SELECT * FROM BanList LIMIT %d, %d", $baseLimit, $limitLength;
但我们需要查看整个页面以查看这些大括号的来源
答案 2 :(得分:0)
$ENTRIES_PER_PAGE = 15;
$strSQL = 'SELECT * FROM banlist LIMIT '.($ENTRIES_PER_PAGE * (empty($thepage)? 0 : $thepage - 1)).', '.$ENTRIES_PER_PAGE;
答案 3 :(得分:0)
您的代码存在一些问题......
如果你想使用“if”而不是case,你应该使用“elsif”... as,即使第一次检查是正确的,你也可以使用服务器时间检查其余的...
我认为维持这样的事情会更容易:
$top = $thepage ? ($thepage - 1) * 15 : 0;
$strSQL = "SELECT * FROM Banlist LIMIT $top, 15";
编辑:根据评论更正了代码:P