I have a table called AGENDA, where I have the fields, ID, Location, Date. Doing the insertion and selection within the database I've already been able to do correctly. But I can not select the date in ascending order, showing the events that will happen first, and I wanted to restrict events only in the next 30 days. Is there any command in php / mysql for this, or would I have to develop a function for this?
Solution after responses / comments:
Table structure:
id - Auto Increment
date - Date
Local - varchar
Display.php code:
<?php
include "configurar.inc";
// Capturando o ano atual para quando for selecionar o mês dos eventos não aparecer de todos os anos.
$dataatual = explode("/", date('d/m/Y'));
$anoatual = $dataatual[2];
// Supondo que quero o mês de maio (5)
$sql = "SELECT * FROM datas WHERE MONTH(data) = 5 AND YEAR(data) = $anoatual ORDER BY data ASC";
$query = mysql_query($sql);
echo "Proximos Eventos: ";
while($linha = mysql_fetch_array($query)) {
$datasemformato = $linha['data'];
$dataformatada = implode("/", array_reverse(explode("-", $datasemformato)));
echo "<br>";
echo "$dataformatada";
// Compara data e diz se o evento é hoje.
if(date('d/m/Y')==$dataformatada) {
echo " -> Esse evento é hoje.!";
}
// Compara a data e diz se o evento é amanhã.
if(date('d/m/Y', strtotime("+1 day"))==$dataformatada) {
echo " -> Esse evento será amanhã.!";
}
}
?>
If you want to view events for the next 30 days: WHERE data between NOW() and DATE_ADD(NOW(), INTERVAL 1 MONTH)