2013-09-28 37 views
0

在php中,我想在激活的日期內在頁面上顯示一條消息,表示從管理員選擇的日期和日期將由管理員選擇,並且在選定的日期內,消息將顯示在頁面中。對於日期選擇我已經使用jQuery datepicker。我做了我的數據庫這樣的在該間隔期內的php顯示通知日期

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

我認爲你有一些在視圖頁面抓取開始日期和結束日期的方法,假設你必須添加where子句來選擇落在該日期範圍之間的消息。但是你沒有插入消息的日期。您必須將其添加到表中,然後您可以使用BETWEEN運算符。因此,該查詢會是這樣

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

$start_date$end_date應適當日期格式字符串。