Tratare de ser breve y lo mas explicito posible.
Verán estoy creando un pequeño módulo de citas, en el cual el administrador desde su panel de control tendrá un calendario en donde él especificará el límite de citas que el desea para el día 'n'. ¿Ok? ¿Vamos bien? Perfecto.
La parte administrativa ya la programe, está funcionando de 10 el problema es el front-end.
Mi idea es mostrarle al usuario un <SELECT> con los meses que tengan citas pautadas y por lo menos que en un día de ese mes tenga un cupo disponible. No sé si me di a entender
Veamos el código a ver si me pueden ayudar.
Primero la estructura de las tablas:
La primera es la tabla donde almaceno el calendario, es decir las fechas y el límite de citas por esa fecha:
Código:
tabla: yamcalendar { ycal_id => int, primary, auto_increment ycal_dia => date ycal_cita_limite => int }
Código:
Tienen más campos pero no vienen al caso tabla: yamcalcitas { Citas_id => int, primary, auto_increment Citas_fecha => date Citas_numero_solicitud => int }
Y ahora el php:
Código PHP:
/**
* Con este consulta verificamos si en mes que va corriendo
* o los siguientes hay citas pautadas.
**/
$mSelect = "SELECT DISTINCT month( yamcalendar.yCal_dia ) AS mes "
. "FROM yamcalendar "
. "WHERE yamcalendar.ycal_cita_limite > 0 AND month( yamcalendar.yCal_dia ) >= MONTH(NOW()) "
. "GROUP BY yamcalendar.ycal_dia "
. "ORDER BY yamcalendar.ycal_dia ASC ";
$mResult = mysql_query($mSelect);
if(mysql_num_rows($mResult) > 0)
{
# Bueno tal parece que si hay meses con citas pautadas, ahora de esos meses
# Solo incluiremos en el combo los que tengan cupos para citas :D
while($dMeses = mysql_fetch_array($mResult))
{
# Recoremos la tabla de citas para hacer un coteo de citas de $nMes
# Y obtener fecha.
$cQuery = "SELECT yCitas_id, yCitas_fecha, COUNT(yCitas_id) AS contador FROM yamcalcitas "
. "WHERE MONTH(yCitas_fecha) = '$dMeses[mes]' ";
$cResult = mysql_query($cQuery);
$cData = mysql_fetch_array($cResult);
# Y AQUI ME QUEDE!!!
}
}
else
{
display_msj("Estimado usuario, en este momento no hemos fijado citas para los proximos meses, por favor vuelva más tarde. ".mysql_error());
}
}
else
{
redir("solicitud-de-citas.php","El código de solicitud es invalido.");
}
Se preguntarán ¿Cual es el problema? Les pondré un ejemplo.
El administrador ha pautado que para el mes de JULIO el día 17 y 18 hay 10 citas disponibles para cada uno, para el mes de AGOSTO no pauto citas y para el mes de SEPTIEMBRE pauto 10 citas para el 03.
Según esto en el SELECT debería aparecer solo el mes de JULIO y SEPTIEMBRE. Ok eso está muy bien, el problema es que necesito que cuando los días 17 y 18 agoten sus límites de cita el mes de JULIO no se muestre.
¿Creen que es muy descabellado lo que estoy haciendo? ¿Estoy haciendo el proceso mal? ¿Me estoy ahogando en un vaso de agua?
Si pueden ayudarme se los voy agradecer de todo corazón Espero que por ser mi primer mensaje no sea una desventaja.
Saludos compañeros y ¡Gracias de antemano!