我正在尝试为使用PHP和MySQL的客户端创建一个类注册系统.我已经设置了数据库和表格,并且该部分工作得很好,但是,客户要求在注册时,如果有3个或更少的学生注册警告该课程可能无法运行.
我正在尝试使用count()函数以及从注册PHP脚本中设置的cookie传递动态变量.但是,我遇到了障碍.我似乎无法获得count()函数来实际计算行数.我的选择声明如下.任何帮助将不胜感激.
$class = $_COOKIE["class"];
$min_check = "SELECT class_list, COUNT(class_list) as count
FROM T_Student WHERE class_list = '$class'
GROUP BY class_list
HAVING count < 20";
$result = mysql_query($min_check);
$count = mysql_num_rows($result);
if ($count < 4)
{
echo "IF THERE ARE 3 OR FEWER PEOPLE SIGNED UP FOR THIS CLASS, IT MAY NOT RUN.\n";
echo "THERE ARE CURRENTLY " . $count . " PEOPLE SIGNED UP.\n";
}
else if ($count > 4)
{
echo "There are currently " . $count . " people signed up for this class.";
}
?>
Run Code Online (Sandbox Code Playgroud)
您的SQL查询返回class_list值的列表,以及每个特定实例的计数,其中注册的人数少于20人.
$count = mysql_num_rows($result);
Run Code Online (Sandbox Code Playgroud)
...获取结果集中返回的记录数,而不是别名count值,这就是您没有看到预期输出的原因.您需要读入结果集以获取值:
while ($row = mysql_fetch_assoc($result)) {
$count = $row['count'];
if($count < 4) { ... }
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
363 次 |
| 最近记录: |