Foros del Web » Programando para Internet » PHP »

Utilizacion de arrays

Estas en el tema de Utilizacion de arrays en el foro de PHP en Foros del Web. Hola [email protected]! Tengo un problema con el valor de un array. Estoy con la gestion de citas de una clínica. Y lo que quiero hacer ...
  #1 (permalink)  
Antiguo 28/03/2005, 08:29
 
Fecha de Ingreso: enero-2005
Mensajes: 116
Antigüedad: 12 años, 10 meses
Puntos: 0
Pregunta Utilizacion de arrays

Hola [email protected]!
Tengo un problema con el valor de un array.
Estoy con la gestion de citas de una clínica. Y lo que quiero hacer es comprobar que no haya en la BD una cita a la misma hora a la que se quiere crear una nueva cita. Entonces, mi idea es almacenar las citas en un array y despues comprobar si hay alguna cita que empiece a la misma hora que la nueva que se quiera crear.
El código que tengo es:
Código PHP:
//Aquí leo los registros de la base de datos que deseo almacenar en el array.
$cita=mysql_query("SELECT Doctor,Fecha,Hora_inicio,duracion FROM citas WHERE doctor='$doctor' and fecha='$fecha_comp'",$link);
$i=0;
while (
$citas mysql_fetch_array($cita))
{
  echo 
'Doctor: '.$citas['Doctor'].'<br>';
  echo 
'Fecha: '.$citas['Fecha'].'<br>';
  echo 
'Hora cita: '.$citas['Hora_inicio'].'<br>';
  echo 
'Duracion: '.$citas['duracion'].'<br>';
  
//Aquí le doy valor al array: Lo que deseo almacenar sólo es la hora de inicio y la duracion.
  
$a[i][0] = $citas['Hora_inicio'];
  echo 
'Valor 0:'.$a[i][0].'<br>';
  
$a[i][1] = $citas['duracion'];
  echo 
'Valor 1:'.$a[i][1].'<br>';
  
$i++;
// Fin del while ($citas = mysql_fetch_array($cita))
mysql_free_result($cita); 
Los echos que hay son para comprobar si se leen bien los registros. Y el valor del array dentro del while es correcto. Pero despues de este código, visualizo de nuevo el valor del array y ... el array ya está vacío.
El código es muy simple:
Código PHP:
$j=0;
//Solo voy hasta 5 para probar. Pero visualiza los 5 vacíos.
while ($j 5)
{
    echo 
"Hora inicio: {$a[$j][0]}  Duracion: {$a[$j][1]}<br>";
    
$j++;

Yo entiendo que es porque el ámbito del array está dentro del while. Pero ... ¿cómo lo declaro antes si no sé el número de registros que voy a leer de la bd?
  #2 (permalink)  
Antiguo 28/03/2005, 09:11
Avatar de braulito  
Fecha de Ingreso: abril-2004
Ubicación: Cusco - Perú
Mensajes: 597
Antigüedad: 13 años, 7 meses
Puntos: 8
No es necesario saber el número de registros, PHP en ese aspecto es bien sensible, sólamente decláralo, antes de tu while y lo pruebas:
Código PHP:
$a = array(); 
__________________
Braulio Soncco
braulio at buayacorp dot com
Buayacorp - Programación y Diseño
  #3 (permalink)  
Antiguo 28/03/2005, 12:36
 
Fecha de Ingreso: enero-2005
Mensajes: 116
Antigüedad: 12 años, 10 meses
Puntos: 0
El fallo era bien sencillo de corregir:
$a[$i][0] = $citas['Hora_inicio'];
$a[$i][1] = $citas['duracion'];
Y solo por ese detalle ... se pierde mucho tiempo.
Saludos

Última edición por lcrecarey; 01/04/2005 a las 09:45
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 12:24.