我需要一个显示数据库记录的页面,按其作业排序。因此,数据库拥有不同类型的人,他们有不同的工作。例如,在“老师”页面上,我只想显示所有教师,而不是其他人。我希望页面上有3个人,下面有一个“上一个”和“下一个”按钮。如果用户单击下一个按钮,我希望显示下3个记录。当用户到达最后的记录时,我需要下一个按钮消失。 “之前”也是如此。
到目前为止我所拥有的:
这段代码创建了一个名为startrow的值。
if (!isset($_GET['startrow']) or !is_numeric($_GET['startrow'])) {
//give the value of the starting row 0 because nothing was found in URL
$startrow = 0;
//otherwise take the value from the URL
} else {
$startrow = (int)$_GET['startrow'];
}
我的查询:
$sql = mysql_query("SELECT * FROM $tbl_name WHERE jobs='teacher' LIMIT $startrow, 3")or
die(mysql_error());
$sql2 = "SELECT COUNT(*) AS TotalJobs FROM $tbl_name WHERE jobs='teacher'";
$result_count = mysql_query($sql2);
$count = mysql_fetch_array($result_count);
我在下一部分中创建了if / else函数的$ count(这部分看起来不像我想要的那样工作):
if ($startrow < $count )
echo '<a href="'.$_SERVER['PHP_SELF'].'?startrow='.($startrow+3).'">Next</a>';
$prev = $startrow - 3;
//only print a "Previous" link if a "Next" was clicked
if ($prev >= 0)
echo '<a href="'.$_SERVER['PHP_SELF'].'?startrow='.$prev.'">Previous</a>';
所以前一个按钮似乎按照应有的方式工作。接下来没有。我已经创建了
if ($startrow < $count)
基本上,如果startrow的值小于记录总数,则会设置下一个按钮。但是,如果我测试它,无论如何,它都会显示下一个按钮,无论startrow的价值如何。
我在这里缺少什么?
答案 0 :(得分:0)
mysql_fetch_array
返回一个包含count的数组,而不是值本身。请改用$count['TotalJobs']
。
此外,您不应再使用mysql扩展名,而是使用PDO
或MySQLi
。
您可以更改:
$count = mysql_fetch_array($result_count);
到
$countArr = mysql_fetch_array($result_count);
$count = $countArr['TotalJobs'];