修改 的
我已经采取了一些Ashley Banks代码并插入我的内容但没有任何成功。我没有收到任何错误,但我也没有收到任何数据。我的代码如下::
<?php
$id = $_GET['meeting_id'];
$from = date( 'Y-m-d', strtotime( $row['date_update'] . '-7 days' ) );
$result = mysql_query('SELECT * FROM Meetings LEFT JOIN Minutes ON Meetings.meeting_id = Minutes.meeting_id
INNER JOIN Rooms ON Meetings.meeting_id = Rooms.meeting_id
WHERE Rooms.date >= "' . $from . '" AND Rooms.date <= NOW() AND Minutes.approval = "approved" AND Meetings.meeting_id = "$id"')
or die(mysql_error());
if (mysql_num_rows($result) == 0) {
echo '<h3>There Arent Any Minutes For This Meeting Yet</h3>';
} else {
while($info = mysql_fetch_array($result))
{
echo "<tr>";
echo "<td><br/>" .'Title: '. $info['title']." </td>";
echo "<td><br/><br/>" .'Subject: '. $info['subject']. "</td>";
echo "<td><br/><br/>" .'Next Subject: '. $info['next_subject']."</td>";
echo '<br/><br/><a href="attendees.php?meeting_id=' . $info['meeting_id'] . '" target="_blank">Attendees</a>';
echo ' | <a href="apologies.php?meeting_id=' . $info['meeting_id'] . '" target="_blank">Apologies</a>';
}
}
echo "</tr>";
echo "</table>";
?>
请记住,这些是我的表格和字段:
会议:meeting_id,职称,主席,秘书,tof,出现,行动
房间:room_id,房间,日期(这是在varchar字段中,我知道它的格式不正确,但它是这样的),time,meeting_id。
分钟:minute_id,subject,next_subject,approval,meeting_id
它没有显示任何数据。它只是回应我的信息,“这次会议还没有任何会议记录”
我在房间里的日期字段现在是日期格式,而不是任何变种
答案 0 :(得分:0)
这可能会有所帮助,例如我上周正在处理的事情:
$from = date( 'Y-m-d', strtotime( $row['date_update'] . '-15 days' ) );
$query = $this->db->get ( 'SELECT * FROM table WHERE table_date >= "' . $from . '" AND table_date <= NOW() ORDER BY table_date DESC' );
这只是一个简短的例子,但它会在两个日期之间找到结果,将$ from设置为我提供的日期的15天(在这种情况下是我的数据库的输出),所以你可以用它来做任何东西。
答案 1 :(得分:0)
您可能希望将varchar“date”转换为实际日期,然后将其与curdate() - 7天进行比较。 请参阅:http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html#function_str-to-date
结束这样的事情:
AND str_to_date(Meetings.date,'%d,%m,%Y') > date_sub(curdate(), interval 7 day)
答案 2 :(得分:0)
尝试:
SELECT *
FROM Minutes m, Rooms r
WHERE
m.meeting_id = r.meeting_id AND
r.date > DATE_SUB(CURDATE(),INTERVAL 7 DAY)
您必须根据日期字段进行更改。如果日期是DATETIME
字段,如果它是包含时间戳的VARCHAR
,则可以使用类似
CAST(r.date AS UNSIGNED) > UNIX_TIMESTAMP()-7*24*60*60
如果您的VARCHAR
包含日期字符串(无论如何都不是一个好主意),请在之前的日期字段中使用UNIX_TIMESTAMP()
。
你必须来回做一些铸造,但有一些尝试我肯定你会得到它的悬念