2015-07-13 1 views
1

J'espère que tout le monde est génial. Quel est le meilleur moyen d'afficher uniquement les événements futurs dans une liste d'événements générée par PHP et SQL?Affichage SQL/PHP seulement les événements à venir

function select_events($sql) { 
include 'connect.php'; 

$result = $conn->query($sql); 
if ($result->num_rows > 0) { 
    echo "<table id='event-list'>\n 
      <tr>\n 
       <th id='event'>Event</th>\n 
       <th id='date-of-event'>Date</th>\n 
       <th id='time'>Time</th>\n 
       <th id='place'>Place</th>\n 
       <th id='admission'>Admission</th>\n 
      </tr>"; 
} 
while ($row = $result->fetch_assoc()) { 
    $date = new DateTime($row['date']); 
    $formatted_date = $date->format('d/m/Y'); 
    $time = new DateTime($row['time']); 
    $formatted_time = $time->format('HH:MM'); 
    echo "<tr>\n 
      <td id='event'>".$row['event']."</td>\n 
      <td id='date-of-event'>".$formatted_date."</td>\n 
      <td id='time'>".$row['time']."</td>\n 
      <td id='place'>".$row['place']."</td>\n 
      <td id='admission'>".$row['admissions']."</td>\n 
     </tr>\n"; 
} 
echo "</table>\n"; 
} 


<?php select_events("SElECT * FROM events ORDER BY date, time"); ?> 

Merci tout le monde à l'avance. :)

Répondre

0

essayer cela,

<?php select_events("SElECT * FROM events WHERE `date` >= CURDATE() ORDER BY `date`, `time`"); ?> 

utilisation des backticks pour mots-clés réservés mysql

0

Vous devez ajouter une condition pour vérifier la date et aussi pour le temps.

Vérifiez si la date est supérieure à aujourd'hui et si l'heure est supérieure à l'heure actuelle.

<?php select_events("SElECT * FROM events WHERE `date` >= " . date('Y-m-d') . " AND `time` > " . date('H:i:s') . " ORDER BY `date`, time"); ?>