在php中,我希望在激活的日期内在页面中显示一条消息,表示管理员将选择日期和日期,并且在选定的日期内,消息将显示在页面中。对于日期选择,我使用了jQuery datepicker。我已经像这样建立了我的数据库
CREATE TABLE IF NOT EXISTS `messagebox` (
`message_id` int(10) unsigned NOT NULL auto_increment,
`message` varchar(255) NOT NULL,
`start_date` date NOT NULL,
`end_date` date NOT NULL,
PRIMARY KEY (`message_id`))
ENGINE='._MYSQL_ENGINE_.' DEFAULT CHARSET=utf8'))
我的管理员表格看起来像这样
<form id="formID" method="post" action="'.$_SERVER['REQUEST_URI'].'" enctype="multipart/form-data">
<label>Message</label>
<div class="margin-form"><input class="text-input" type="text" name="message" id="message" value=""/></div>
<label>Start Date</label>
<div class="margin-form"><input class="text-input" type="text" name="start_date" id="start_date" value=""/> </div>
<label>End Date</label>
<div class="margin-form"><input class="text-input" type="text" name="end_date" id="end_date" value=""/> </div>
<input type="submit" name="submit_announcement" class="button" value="Save"/>
</div>
</form>
为了插入数据我的代码
if(isset($_POST['submit_announcement'])) {
'INSERT INTO `messagebox` (`message_id`,`message`,`start_date`,`end_date`) VALUES ("","'.$message.'","'.$start_date.'","'.$end_date.'") ';
}
echo "Settings updated successfully";
else {
echo "You have some errors";
}
在这里我可以看到数据已插入数据库。 现在在视图页面中,我将获取数据。
$sql_query = mysql_query("SELECT * FROM messagebox") or die(mysql_error());
while($row = mysql_fetch_array($sql_query)){
$message_details = $row['message'].;
echo $message_details;
}
这里我收到了所有消息但我只想显示在该时间格式内设置的消息(从start_date到end_date)。在结束日期之后,消息将被取消激活。那么有人可以告诉我该怎么做吗?
答案 0 :(得分:0)
我认为你在视图页面中有一些抓取开始日期和结束日期的方法,假设你必须添加where子句来选择落在该日期范围之间的消息。但是您没有填写消息日期的字段。您必须将其添加到表中,然后您可以使用BETWEEN
运算符。所以查询将是这样的
SELECT * FROM messagebox
WHERE dateinserted BETWEEN $start_date AND $end_date;
$start_date
和$end_date
应该是具有正确日期格式的字符串。