创建一个函数,确定用户每个日历日是否有10个以上的条目

时间:2010-06-30 21:13:00

标签: php

我在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;

}

1 个答案:

答案 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!";