11
« en: 24 de Agosto 2014, 08:45 »
Hola, tengo que utilizar el IF de mysql en una web que estoy haciendo, pero no sé como utilizarlo en este caso.
He programado antes con IF en java pero en mysql me cuesta entenderlo.
en mi web quiero mostrar las noticias de esta semana, pero empezando por el lunes, de modo que si estamos a miércoles las noticias sean del lunes pasado al domingo.
Así que tengo que decir "si hoy es miércoles muestra las noticias del 'día actual' menos 2 días, hasta 'día actual' más 4 días.
He mirado tutoriales y ejemplos pero no me aclaro. A ver si alguien me ayuda...
Este es mi intento de código en php que no funcionó por razones obvias... estaba utilizando una función mysql en un IF de php:
<?php
$link = mysql_connect("mysql13.000webhost.com","a4047274_fiestas","urkaka12");
mysql_select_db("a4047274_fiestas", $link);
//intento de usar IF de mysql --> $result = mysql_query("SELECT * FROM valencia WHERE fecha_inicio BETWEEN SYSDATE() AND DATE_ADD(SYSDATE(), INTERVAL 7 DAY), IF( DAYNAME(CURDATE()) == 'monday' ", $link);
if(DAYNAME(CURDATE()) == 'monday'){
$result = mysql_query("SELECT * FROM valencia WHERE fecha_inicio BETWEEN SYSDATE() AND DATE_ADD(SYSDATE(), INTERVAL 7 DAY)", $link);
}
else if($dia_actual == 'tuesday'){
$result = mysql_query("SELECT * FROM valencia WHERE fecha_inicio BETWEEN DATE_ADD(SYSDATE(), INTERVAL -1 DAY) SYSDATE() AND DATE_ADD(SYSDATE(), INTERVAL 6 DAY)", $link);
}
else if($dia_actual == 'wednesday'){
$result = mysql_query("SELECT * FROM valencia WHERE fecha_inicio BETWEEN DATE_ADD(SYSDATE(), INTERVAL -2 DAY) SYSDATE() AND DATE_ADD(SYSDATE(), INTERVAL 5 DAY)", $link);
}
else if($dia_actual == 'thursday'){
$result = mysql_query("SELECT * FROM valencia WHERE fecha_inicio BETWEEN DATE_ADD(SYSDATE(), INTERVAL -3 DAY) SYSDATE() AND DATE_ADD(SYSDATE(), INTERVAL 4 DAY)", $link);
}
else if($dia_actual == 'wensday'){
$result = mysql_query("SELECT * FROM valencia WHERE fecha_inicio BETWEEN DATE_ADD(SYSDATE(), INTERVAL -4 DAY) SYSDATE() AND DATE_ADD(SYSDATE(), INTERVAL 3 DAY)", $link);
}
else if($dia_actual == 'saturday'){
$result = mysql_query("SELECT * FROM valencia WHERE fecha_inicio BETWEEN DATE_ADD(SYSDATE(), INTERVAL -5 DAY) SYSDATE() AND DATE_ADD(SYSDATE(), INTERVAL 2 DAY)", $link);
}
else if($dia_actual == 'sunday'){$result = mysql_query("SELECT * FROM valencia WHERE fecha_inicio BETWEEN DATE_ADD(SYSDATE(), INTERVAL -6 DAY) SYSDATE() AND DATE_ADD(SYSDATE(), INTERVAL 1 DAY)", $link);
}
//$result = mysql_query("SELECT * FROM valencia WHERE fecha_inicio BETWEEN SYSDATE() AND DATE_ADD(SYSDATE(), INTERVAL 7 DAY)", $link);
while($row = mysql_fetch_array($result)){
echo "<hr>";
echo "Pueblo: ".$row['pueblo']."<br>";
echo "Fiesta: ".$row['fiesta']."<br>";
echo "Comentarios: ".$row['comentarios']."<br>";
}
mysql_free_result($result);
mysql_close($link);
echo "<hr>";
?>
Gracias.