Php 如何使此代码工作?

Php 如何使此代码工作?,php,Php,我有一个小问题,我想是从这里开始的: 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($th

我有一个小问题,我想是从这里开始的:

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)
$top = $thepage ? ($thepage - 1) * 15 : 0;
$strSQL = "SELECT * FROM Banlist LIMIT  $top, 15";
试试这个:

<?php
if(!isset($thepage) || ( $thepage==1 )) {
   $startLimit = 0;
} else {
   $startLimit = 15 * $thepage;
}

$strSQL = "SELECT * FROM Banlist LIMIT " . $startLimit . " , 15";
?>


简短而简单。

你可以像这样用uop清洁它,那么你就不需要if了

$limitLength = 15;
$thepage = $thepage == ""? 1: $thepage;
$baseLimit = ($thepage-1) * $limitLength;
$strSQL = sprintf("SELECT * FROM BanList LIMIT %d, %d", $baseLimit, $limitLength;

但是我们需要查看整个页面,以查看这些大括号的来源。

您的代码存在一些问题

$ENTRIES_PER_PAGE = 15;

$strSQL = 'SELECT * FROM banlist LIMIT '.($ENTRIES_PER_PAGE * (empty($thepage)? 0 : $thepage - 1)).', '.$ENTRIES_PER_PAGE;
如果您想使用“If”而不是case,您应该使用“elsif”…因为,即使第一次检查是正确的,您也可以使用服务器时间来检查其余的

我认为这样更容易维护:

(page: 1  2  3  4  5 ... LAST)
$top = $thepage ? ($thepage - 1) * 15 : 0;
$strSQL = "SELECT * FROM Banlist LIMIT  $top, 15";

编辑:根据注释更正代码:p

使用
switch
语句进行此类测试。发布代码的其余部分会很有帮助,因为这样做不起作用;我没有给我们展示太多。据我所知,代码没有问题,所以代码中一定有其他地方的东西。我,我是一个甲骨文,我猜问题来自其他地方。顺便说一句:试试看。我想你希望每页显示15个结果,所以请将其限制为X,Y(Y始终为15,仅根据你的页码更改X。)查看我的评论。首先,右键单击你的页面,点击“查看源代码”,再次检查你的PHP是否没有显示在页面上。}的问题很奇怪。我怀疑这是由其他地方的代码引起的,但可能是由于服务器配置不正确和浏览器混乱造成的。这意味着第1页从第15项开始,虽然$bottom指定了要获取的顶部记录,但语法实际需要获取的记录数,所以始终是15