2013-12-12 63 views
-1

我基本上無法找到如何從我查詢的查詢中獲得「starttime」和「endtime」,以便它顯示數據庫之間的數據事件。PHP MySQLi查詢之間的查詢本身兩次查詢

MySQL查詢

$resultEvents = mysqli_query($con,"SELECT * FROM events WHERE starttime >= (SELECT starttime FROM events) and endtime <= (SELECT endtime FROM events)"); 

PHP顯示

<?php 
     while($events = mysqli_fetch_array($resultEvents)){ 
       echo '<div id="eventnotification">'; 
       echo '<a href="./events/' . $events[1] . '"><div class="enc-' . $events[2] . '">'; 
       echo '<h5 class="notificationtitle">' . $events[3] . '</h5>'; 
       echo $events[4]; 
       echo '</div></a>'; 
       echo '</div>'; 
      } 
     ?> 

在數據庫中的表稱爲events,主要有:

  • ID
  • 事件名稱
  • 標題
  • 描述
  • 文章
  • 創作者
  • 開始時間
  • 結束時間

從該行選擇的數據顯示在頁面上,但只之間開始時間和e顯示該行的nddate,否則將不顯示。

+0

究竟什麼是你的STARTIME和結束時間?這些子選詞從你的事件表中抓取所有的startimes和endtimes。您需要使用PHP將開始時間和結束時間傳遞到查詢中。 – boojer

+0

開始時間和結束時間處於TIMEDATE類型。 – AlpineArctic

+0

這不能回答我的問題。什麼是開始時間和結束時間?你如何確定確切的時間? – boojer

回答

2

我覺得BETWEEN會更簡潔:

$resultEvents = mysqli_query($con,"SELECT * FROM events WHERE NOW() BETWEEN starttime AND endtime"); 
+0

這是正確的,但開始/結束時間'2013-12-12'和'2014-01-01'在行表內。時間已經在我查詢的行內設置。 – AlpineArctic

+0

那麼,發佈的查詢沒有任何意義,它可能已被減少到'SELECT * FROM events',我假設你想使用當前時間,所以我已經更新了我的答案是NOW( )在起始時間和結束時間之間 –

+0

@RobM。 +1最後還有其他人在日期和時間使用BETWEEN!(我已經失去了有人對我說過多少次的計數,「這是不可能的。」) – bishop