Tengo una agenda, que recoge los datos de un DB mysql, solo muestro los proximos 7 dias.
Esto esta montado con un WHILE y lo manda a una lista.
El dia de la semana lo recoge el propio php, no esta en la DB
1 dia puede tener 1 vento o más, pero puede que un dia no tenga ninguno declarado en la DB, entonces quiero que muestre uno por defecto.
A mi lo unico que se me ocurre es hacer una consulta por dia y repetirla 7 veces, pero no se si es la mejor opción...
a ver si alguien se le ocurre algo y me echa un cable.
Gracias
Código:
El archivo de dia semana<? //recojo fecha y hora del servidor $time = time(); //le doy forma y la paso a una variable $fechahoy = date("Y-m-d", $time); $hoyfecha = date("Y-m-d (H:i:s)", $time); //declaro variable para calcular 7 dias a partir de hoy $fecha7 = strtotime ( '+7 day' , strtotime ( $fechahoy ) ) ; $fecha7 = date ( 'Y-m-j' , $fecha7 ); //Invoco archivo para calcular el dia de la setmana include ('diasemana.php'); $link=Conectarse(); $query = "SELECT * FROM calendario WHERE fecha>='$fechahoy' AND fecha<'$fecha7' ORDER BY fecha"; $result = mysqli_query ($link,$query); $contador = 0; while ($row = mysqli_fetch_array($result)) { $titulo = $row[titulo]; $id= $row[id]; $ref = $row[ref]; $fecha = $row[fecha]; $descripcion = $row['descripcion']; $image = $row['image']; // ejecutamos la función de dia de la setmana pasandole la fecha saber_dia($fecha); //la variable $diasemana se declarara en la función como global if($fechahoy<=$fecha){$semanadia=$diasemana;}else{$semanadia="esta noche";} ?> <li> <div class="padding"> <h3><? echo $titulo ?></h3> <h4><? echo $semanadia ." ". $fecha ?></h4> <img src="<? echo $image ?>" /> <span class="text175"><p><? echo $descripcion ?></p></span> </div> </li> <? ;} mysqli_close ($link); ?>
Código:
<?php function saber_dia($nombredia) { $dias = array('Domingo','Lunes','Martes','Miercoles','Jueves','Viernes','Sabado'); global $diasemana; $diasemana = $dias[date('N', strtotime($nombredia))]; } ?>