我正在浏览这个分页脚本,我无法理解如何使用$ _GET。这是脚本
<?php
$host = "localhost";
$user = "root";
$password = "";
$database = "world";
$db = mysql_connect($host, $user, $password);
if($db)
{
$select_db = mysql_select_db($database);
if(!$select_db)
{
echo 'Database Error:'. mysql_error();
}
}else
{
echo 'Connection Error:'. mysql_error();
}
$rowsPerPage = 15;
// by default we show first page
$pageNum = 1;
// if $_GET['page'] defined, use it as page number
if(isset($_GET['page']))
{
echo 'not set';
$pageNum = $_GET['page'];
}
else{echo 'is set';}
// counting the offset
$offset = ($pageNum - 1) * $rowsPerPage;
$query = "select * from city" .
" LIMIT $offset, $rowsPerPage";
//print $query;
$result=mysql_query($query);
?>
我将脚本命名为p.php。
虽然脚本没有?page=n
我尝试执行名为tr.php的脚本
if(isset($_GET['tr']))
{
echo "not set <br/>";
}
else{echo 'is set <br/>'; }
if(empty($_GET['tr'])){
echo 'so not there <br/>';
}
我得到了这个
is set
so not there
为什么是$ _GET;这样做?。
答案 0 :(得分:2)
这是因为您正在以相反的方式检查isset()
if(isset($_GET['page']))
{
echo 'not set';
这里你使用的是isset并检查它是否为真,这就是它,所以你在实际设置时打印not set
if(isset($_GET['page'])) {
echo 'is set';
$pageNum = $_GET['page'];
} else {
echo 'not set';
}
答案 1 :(得分:1)
字符串说错了。这显然是一个错误。如果你只是翻转字符串,它会更有意义。
if(isset($_GET['tr'])) // This means it IS set...
{
echo "IS set <br/>"; // ...thus, we change this....
}
else
{
echo 'is NOT set <br/>'; // ... and this.
}
if(empty($GET['tr'])){
echo 'so not there <br/>';
}