我在MySQL中使用一个名为“提交”的表,其中包含名为“loginid”和“datesubmitted”的字段。 “Loginid”是一个整数,“datedubmitted”是一个时间戳。
我想创建一个函数来确定给定的“$ uid”是否等于“loginid”在“提交”中有11行或更多行,并且今天的日历日期为“datesubmitted”。
我不知道该怎么做,但这是我到目前为止所做的:
function uidlimit($uidinput){
$queryuid = "select uid from submission where datesubmitted > '$todaysDate 00:00' and date < '$todaysDate 23:59' group by uid having count() > 11";
$uidresult = mysql_query($queryuid);
关于如何制作这样的功能的任何建议?
提前致谢,
约翰
编辑:感谢Pekka,我最终使用了这个,它起作用了:$queryuidcount = "select loginid from submission where TO_DAYS(datesubmitted) = TO_DAYS(NOW()) AND loginid = '$uid'"; // Remove line breaks
$uidresult = mysql_query($queryuidcount);
if (mysql_num_rows($uidresult) >= 11)
{
session_write_close();
header("Location:http://www.domain.com/sample/index.php");
exit;
}
答案 0 :(得分:2)
为什么不简单地获取给定用户的提交数量,并用PHP计算?
function uidlimit($uidinput){
$uidinput = mysql_real_escape_string($uidinput); // Don't forget to sanitize!
$queryuid = "select count(uid) as cnt from submission
where TO_DAYS(datesubmitted) = TO_DAYS(NOW())
AND uid = '$uidinput'"; // Remove line breaks
$uidresult = mysql_query($queryuid);
$record = mysql_fetch_row($uidresult);
if ($record->cnt >= 11) echo "11 or more!";
else echo "less than 11!";