【问题标题】:php show notice within that interval datesphp 在该间隔日期内显示通知
【发布时间】:2013-10-04 16:17:46
【问题描述】:

在 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)。超过结束日期后,消息将被停用。那么有人可以告诉我如何做到这一点吗?

【问题讨论】:

    标签: php jquery mysql jquery-ui jquery-ui-datepicker


    【解决方案1】:

    我认为您有一些方法可以在视图页面中获取开始日期和结束日期,假设您必须添加 where 子句来选择落在该日期范围内的消息。但是您没有插入消息日期的字段。您必须将其添加到表中,然后才能使用 BETWEEN 运算符。所以查询会是这样的

    SELECT * FROM messagebox WHERE dateinserted BETWEEN $start_date AND $end_date;

    $start_date$end_date 应该是具有正确日期格式的字符串。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-02-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-08-10
      相关资源
      最近更新 更多