Ver Mensaje Individual
  #1 (permalink)  
Antiguo 18/07/2013, 10:46
Avatar de yamsoft
yamsoft
 
Fecha de Ingreso: julio-2013
Ubicación: Maracaibo
Mensajes: 27
Antigüedad: 11 años, 4 meses
Puntos: 2
Pregunta Módulo de citas

Hola amigos ¿Qué tal?

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:
tabla: yamcalcitas {
      Citas_id   => int, primary, auto_increment
      Citas_fecha => date
      Citas_numero_solicitud => int
}
Tienen más campos pero no vienen al caso

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.");
     } 
Como podrán ver, he quedado en un agujero negro del cual tengo más de una hora tratando de salir y nada que he podido...

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!