0

我有点坚持使用 PHP 脚本。

该脚本适用于广播电台,它需要执行以下操作:

  1. 计算电台主持人在当天预订了多少次。插槽存储在数据库的表中,我将使用代码date("l")来确定当前日期,然后搜索所有将“day”设置为值的行date("l")

  2. 然后我需要找出演示者已经在“users”表的“monthly_slots”列中存储了多少小时,该列中有他们的用户名。"SELECT monthly_slots FROM users"

  3. 然后,我需要将演示者今天完成的插槽数量的值与monthly_slots 列中已经存在的插槽数量相加。

下面是我的代码

$currentday = date("l");
$currentslots = mysql_query("SELECT monthly_slots FROM users");
mysql_query("
    UPDATE users
    SET slots = (SELECT COUNT(*) + "$currentslots" 
                 FROM timetable 
                 WHERE timetable.username = users.username 
                   AND day = "$currentday"
                )
"); 

谁能看到我哪里出错了?

谢谢

4

3 回答 3

1

获取资源返回的值

$currentday = date("l");
$result = mysql_query("SELECT monthly_slots FROM users");
$currentslots = mysql_fetch_assoc($result);


mysql_query("
    UPDATE users
    SET slots = (SELECT COUNT(*) + "$currentslots" 
                 FROM timetable 
                 WHERE timetable.username = users.username 
                   AND day = "$currentday"
                )
");
于 2012-05-06T13:28:06.840 回答
0

// 当前的日期

$currentday = date("l");

// 在 users 表中查找小时数

$exec_monthlyslots = mysql_query("SELECT monthly_slots FROM users");
$currentslots=mysql_fetch_assoc($exec_monthlyslots);

// 而不是计算所有列,而是使用您要计算的列 idCOUNT(*)

$new_query="UPDATE users
            SET slots = (
                            (
                                SELECT COUNT(*)
                                FROM timetable 
                                WHERE timetable.username = users.username 
                                AND day = ".$currentday."
                            )
                            + ".$currentslots['monthly_slots']."
                        )
            ";

mysql_query($new_query);

这应该可以帮助你。如果没有,请告诉我。

于 2012-05-06T16:47:28.750 回答
0

$currentslots 是 mysql 资源而不是数字,请改用 mysql_num_rows($currentslots)

于 2012-05-06T13:15:26.847 回答