Ver Mensaje Individual
  #1 (permalink)  
Antiguo 27/04/2012, 08:40
luisenriquegiraldo
 
Fecha de Ingreso: abril-2012
Mensajes: 3
Antigüedad: 12 años
Puntos: 0
Seleccionar una fecha de un rango de fechas

Hola amigos.
Muy buenos dias, soy nuevo en el foro y quiero hacer una consulta.
Estoy desarrollando un sistema de atención médica y estoy creando el módulo de asignación de citas médicas.

Los datos para generar la agenda son
Fecha y hora inicial
Fecha y hora final
intervalo: corresponde al numero de minutos que se le asignara a cada atención, si digito 15, significa que se asignara una cita cada 15 minutos

Otro campo muy importante es la seleccion de un dia de la semana.

todo esta funcionando, faltan algunas validaciones, pero quiero solucionar primero lo de la insección a la tabla.

en mi tabla tengo 2 campos
fecha y ffinal
sus valores correspondientes podrian ser 10:00:00 10:15:00
EL PROBLEMA RADICA EN:
si quiero insertar una cita que va desde las 10:05:00 hasta las 10:10:00 el sistema NO DEBE DEJAR HACERLO ya que ese rango de tiempo esta ocupado por la cita 10:00:00 10:15:00

************************************************** ************

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Crear Calendario</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script language="javascript" type="text/javascript" src="js/functiones.js"></script>
<link href="css/calendario.css" type="text/css" rel="stylesheet">
<script src="js/calendar.js" type="text/javascript"></script>
<script src="js/calendar-es.js" type="text/javascript"></script>
<script src="js/calendar-setup.js" type="text/javascript"></script>
</head>

<body>
<form name="form" method="post" action="">

<!--****************************************-->
</script>
Fecha Inicial &nbsp;<input type="text" size="8" name="fi" id="ingreso" value="<?php echo date("Y-m-d") ?>" />
<img s src="ima/calendario.png" width="16" height="16" border="0" title="Fecha Inicial" id="lanzador">
<!-- script que define y configura el calendario-->
<script type="text/javascript">
Calendar.setup({
inputField : "ingreso", // id del campo de texto
ifFormat : "%Y-%m-%d", // formato de la fecha que se escriba en el campo de texto
button : "lanzador" // el id del botón que lanzará el calendario
});
</script>
<!--****************************************-->
&nbsp;&nbsp;&nbsp;&nbsp
</script>
Fecha Final &nbsp;<input type="text" size="8" name="ff" id="ingreso_2" value="<?php echo date("Y-m-d") ?>" />
<img src="ima/calendario.png" " width="16" height="16" border="0" title="Fecha Final" id="lanzador_2">
<!-- script que define y configura el calendario-->
<script type="text/javascript">
Calendar.setup({
inputField : "ingreso_2", // id del campo de texto
ifFormat : "%Y-%m-%d", // formato de la fecha que se escriba en el campo de texto
button : "lanzador_2" // el id del botón que lanzará el calendario
});
</script>
<!--****************************************-->
&nbsp;&nbsp;&nbsp;&nbsp<br /><br />
Hora Inicial &nbsp;<input type="text" name="hi" size="2" />
<input type="text" name="mi" size="2" />
Hora Final &nbsp;<input type="text" name="hf" size="2" />
<input type="text" name="mf" size="2"/>
<input type="hidden" value="si" name="grabar">
<br /><br />
&nbsp;&nbsp;&nbsp;&nbsp<input type="text" name="int" size="2" /><br /><br />
<input name="dias[]" type="checkbox" value="Monday">lun-Monday<br />
<input name="dias[]" type="checkbox" value="Tuesday">mar-Tuesday<br />
<input name="dias[]" type="checkbox" value="Wednesday">mir-Wednesday<br />
<input name="dias[]" type="checkbox" value="Thursday">jue-Thursday<br />
<input name="dias[]" type="checkbox" value="Friday">vie-Friday<br />
<input name="dias[]" type="checkbox" value="Saturday">sab-Saturday<br />
<input name="dias[]" type="checkbox" value="Friday">dom-Friday<br />
<input name="send" type="submit" id="send" value="Enviar!">
</form>
<?php
if (isset($_POST["grabar"]) and $_POST["grabar"] = "s")
{
$fechaInicio = strtotime($_POST["fi"]);
$fechaFin= strtotime($_POST["ff"]);
$hi= ($_POST["hi"]);
$mi= ($_POST["mi"]);
$horaInicio = strtotime($hi. ":" .$mi);
$hf= ($_POST["hf"]);
$mf= ($_POST["mf"]);
$horaFin = strtotime($hf. ":" .$mf);
$intervalo = $_POST["int"] * 60;

for ($i=$horaInicio;$i<$horaFin;$i+=$intervalo) {
for ($j=$fechaInicio;$j<=$fechaFin;$j+=86400)
{
/****************************************/
$ndia = date('l', $j);
if (isset($_POST['dias']))
{
for($k=0; $k<count($_POST['dias']); $k++)
{
if($ndia == $_POST['dias'][$k])
{

($_POST['dias'][$k] . "<Br>") ;
$l = $i;


echo $datot = date('Y-m-d', $j). " " .date('H:i:s', $i). "<br>";
echo $df1 = date('Y-m-d', $j). " " .date('H:i:s', $l+=$intervalo) ."<br><br>";
//************************************************** *********************
$con=mysql_connect("localhost","root","");
$bd="bd_siips";

$sql = "select fecha from calendario where fecha = '$datot' and ffinal = '$df1'";
$res = mysql_db_query($bd,$sql,$con);
if(mysql_num_rows($res)==0)
{
$query="insert into calendario values ('null','$datot','$df1')";
$resp = mysql_db_query($bd,$query,$con);

}else
{
echo "Horario no disponible";
exit;
}
}
}
}
}
/*******************************************/

}
}
?>
</body>
</html>


************************************************** ************
dejo el codigo por si alguien me puede colaborar

de antemano muchas gracias