显示数据库中选定的记录数量

时间:2014-01-01 21:56:19

标签: mysql sql

我需要一个显示数据库记录的页面,按其作业排序。因此,数据库拥有不同类型的人,他们有不同的工作。例如,在“老师”页面上,我只想显示所有教师,而不是其他人。我希望页面上有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的价值如何。

我在这里缺少什么?

1 个答案:

答案 0 :(得分:0)

mysql_fetch_array返回一个包含count的数组,而不是值本身。请改用$count['TotalJobs']

此外,您不应再使用mysql扩展名,而是使用PDOMySQLi

修改


您可以更改:

$count = mysql_fetch_array($result_count);

$countArr = mysql_fetch_array($result_count);
$count    = $countArr['TotalJobs'];