Bienvenido a la sección de Preguntas y Respuestas, donde puedes plantear tus dudas e inquietudes técnicas y recibir respuestas de otros miembros de la comunidad. Si deseas consultar el foro anterior puedes hacerlo a través del enlace: Foro Anterior (Solo Lectura)

como mostrar datos disponible y ocupado en un rango de fecha y hora

0 positivos 0 negativos
63 vistas

Buenas Tardes a todos  soy un poco nuevo en esta area de php y mysql pero ahorita estoy un poco trancado con esto a ver si me pueden ayudar la persona  mas experimentada en esto. estoy desarrollando un proyecto pero estoy trancado en esta parte estoy utilizando php y mysql.se trata que estoy haciendo  una tabla que me muestre las horas de inicio y fin, los dia que labora, y las disponibilidad si esta ocupado o no el cliente. ya pude mostrar las horas y los dia donde tengo problema es en la disponibilidad porque me muestra el primer dato y se duplica en los demas campós, los demas datos no los lee 

esta es la consulta que hago a la BD:

$sql=mysqli_query($con," 
SELECT
user.id, 
user.name, 
user.lastname, 
parametro.hora_ini, 
parametro.hora_fin, 
parametro.lunes, 
parametro.martes, 
parametro.miercoles, 
parametro.jueves, 
parametro.viernes, 
parametro.sabado, 
parametro.domingo,
parametro.promedio,
categoria.nombre, 
cita.time_at,
cita.date_at 
FROM 
cita
INNER JOIN
parametro
 ON (parametro.user_id4 = cita.cliente)
INNER JOIN 
categoria
ON (categoria.id = parametro.categoria_id2)  
INNER JOIN
 user
 ON (user.id = parametro.user_id4) 
where 
 cita.date_at BETWEEN date(now()) AND '2017-12-31' AND cita.time_at BETWEEN parametro.hora_ini AND parametro.hora_fin AND parametro.id = '$codigo' 
   ");
y este es el codigo que utilizo para mostrar la tabla con los datos:
<table>
    <thead>
    <tr>
        <td style='background:#333;color:#fff'>Servicio</td>
        <td style='background:#333;color:#fff'>Hora</td>
     <?php
     foreach ($sem as list($a, $b)) {
      if($a == 0) { 
      }else{
          echo 
        "<td style='background:#333;color:#fff'>
           $b
          </td>"; 
  }
        }
        ?>
</tr>
    </thead>
<tr>
for($i=$horaEntrada; $i<=$horaSalida ; $i+=$convierte){
    echo"<tbody>";
   echo "<td>$servicio</td>";
    echo '<td style="background-color:#333;color:#fff;cursor:pointer">'.date('h:i a', $i).'</td>'
        foreach ($sem as list($a)) {
        if($a == 0) {  
        }else{
           echo "<td>"; 
    if ($i != $horaocupada1) {
        echo "<div style='color:#5cb85c;cursor:pointer'>disponible</div>"; 
        if ($dato >= $fecha ) { 
    }else{
            echo "<div style='color:#d9534f;cursor:pointer'>ocupado</div>";
        }
    }
        }
}
    echo "</td>";
    echo"</tbody>";     
?>
</tr>
    </table>

espero que me ayuden  espero por su pronta respuesta, comentario y recomendaciones. saludos.

preguntado por nosnibor (12 puntos) Dic 28, 2016 en Discusión General

Por favor inicie sesión o regístrese para responder a esta pregunta.

...