在mysql中插入数据之前如何在php中设置条件
我需要mysql数据库每个特定日期只包含20条记录,如果用户试图在已经有20条记录的给定数据库上输入更多数据…我希望程序拒绝该输入并提示用户输入另一个日期。我使用的是php mysql 这就是我尝试过的在mysql中插入数据之前如何在php中设置条件,php,mysql,Php,Mysql,我需要mysql数据库每个特定日期只包含20条记录,如果用户试图在已经有20条记录的给定数据库上输入更多数据…我希望程序拒绝该输入并提示用户输入另一个日期。我使用的是php mysql 这就是我尝试过的 select count($hopeid)from clinics Where $date > midnight today and $date < 1159pm tonight and $hopeid =(hopeid) if results < 20 then
select count($hopeid)from clinics
Where $date > midnight today and $date < 1159pm tonight and $hopeid =(hopeid)
if results < 20 then
mysql_query("INSERT INTO clinics(hopeid, date, time, appttype, newonARV,newfile,txtname)
VALUES
('$hopeid','$date','$time','$appttype','$newonARV','$newfile','$txtname')") or die(mysql_errno());
else {
Echo"this date is full please choose another date";(mysql_errno();
}
您可以在SQL查询中放置WHERE条件,如
检查
执行查询后,使用mysql\u受影响的\u行测试插入是否成功
选择日期调用后,Ajax查找此日期中的数字记录,如果当天有超过20条记录,则显示一些消息消息消息中已经有20条记录,并添加此新记录以将其作为日期+1,这样它将转到下一个日期,以便用户轻松理解。它们不再得到维护。看到了吗?相反,学习,并使用or-将帮助您决定哪一个。如果您选择PDO,。也许可以立即使用Javascript和AJAX的组合进行检查?打电话检查是否有20条记录,如果是真的,则返回警报您的解决方案是错误的,因为$result是mysql的结果,而不是hopeid的计数您不能使用$result[hopeid]。。。因为$result不是带有hopeid键的数组,所以我认为sizeOf是一个solutionsizeof将返回数组的大小;不算hopeid你正在使用mysqli_fetch_数组,mysqli,提供mysql_查询的返回值,mysqlit会更好你可以在今天午夜和今晚1159点做代码。。。而且,如何才能将错误消息此日期已满请选择另一个日期进行回显/打印??特别是对于打印消息,他们需要执行一些额外的代码,如首先验证计数,然后插入。但为此,它必须分别执行两个查询。我想把它简单化。此外,您还可以测试ifmysql\u impacted\u rows==1,然后将其插入,否则将失败
$result = mysql_fetch_array(mysql_query("select hopeid from clinics
WHERE " . $date . " BETWEEN '18/03/2011' AND '18/09/2011'"));
$result = sizeOf($result);
if ($result < 20){
mysql_query("INSERT INTO ... bla bla ...);
} else {
echo "this date is full please choose another date";
}
$result = mysql_fetch_array(mysql_query("select hopeid from clinics
WHERE " . $date . " BETWEEN '18/03/2011' AND '18/09/2011'"));
$result = sizeOf($result);
if ($result < 20){
mysql_query("INSERT INTO ... bla bla ...);
} else {
echo "this date is full please choose another date";
}