Foros del Web » Programando para Internet » PHP »

duda con arrays

Estas en el tema de duda con arrays en el foro de PHP en Foros del Web. Cordial saludo. Se puede trabajar con arrays de 3 dimensiones ej: $arr[0][0][0]; lo quiero asi porque en uno coloco el medico, en otro la empresa ...
  #1 (permalink)  
Antiguo 09/06/2005, 10:27
 
Fecha de Ingreso: febrero-2005
Mensajes: 673
Antigüedad: 19 años, 1 mes
Puntos: 2
Pregunta duda con arrays

Cordial saludo.

Se puede trabajar con arrays de 3 dimensiones ej:
$arr[0][0][0]; lo quiero asi porque en uno coloco el medico, en otro la empresa y en el ultimo no. de pacientes:
$arr[medico][empresa][No]

Si se puede pueden escribirme como se manipula este tipo de array tan complejo

agradezco la ayuda que me puedan brindar.
  #2 (permalink)  
Antiguo 09/06/2005, 10:30
Avatar de sism82  
Fecha de Ingreso: octubre-2003
Ubicación: Guadalajara
Mensajes: 865
Antigüedad: 20 años, 5 meses
Puntos: 1
es posible, y te daría una explicación, pero hay muchas en internet, aprovecha que alguien mas ya se ha tomado la molestia de explicarlo, busca en google un poco

saludos
  #3 (permalink)  
Antiguo 09/06/2005, 10:56
 
Fecha de Ingreso: febrero-2005
Mensajes: 673
Antigüedad: 19 años, 1 mes
Puntos: 2
Ya he buscado pero no encuentro nada como quiero.

Pero ningun sitio habla de los arrays como lo necesito
$arr[medico][empresa][no]
  #4 (permalink)  
Antiguo 09/06/2005, 11:09
Avatar de dwaks  
Fecha de Ingreso: agosto-2002
Ubicación: Panamá
Mensajes: 962
Antigüedad: 21 años, 8 meses
Puntos: 15
ok te ayudare con los arrays, debes tener concepto claro de lo que quieres ya que debes organizar bien desde el inicio un detalles puedes hacer un array basandote en las empresas ejemplo:
Necesitamos saber una empresa, cuantos medicos tiene y cuantos pacientes tiene, en este ejemplo pienso que empresa es como un consultorio:
Puedes jacer un array asi:
array(
Empresa => array(medicos=>array(lista de medicos),pacientes=>array(lista de pacientes))
)


Esa estructura se basa en las empresas puedes tener 10 empresas y que cada empresa 20 medicos y 100 pacientes, ejemplo de un array con 2 empresas:

array(
Clinica Capital => array(medicos=>array(joel,gabriel),pacientes=>(car los,yeny)),
Clinica de Urgencias => array(medicos=>array(luis),pacientes=>(lisa,samuel ,arturo))
)

Alli veras e clinicas, la primera tiene:
2 medicos y 2 pacientes
la segunda tiene:
1 medico y 3 pacientes.

Ya dependiendo de como llenaras ese array o de donde sacaras esos datos te puedo guiar mas a fondo en como crearlos y cargarle informacion, tambien como manipular ese array.

Última edición por dwaks; 09/06/2005 a las 11:21
  #5 (permalink)  
Antiguo 09/06/2005, 15:40
 
Fecha de Ingreso: febrero-2005
Mensajes: 673
Antigüedad: 19 años, 1 mes
Puntos: 2
Este es mi codigo

<?php
include "../conexion.php";
if(mssql_select_db ("tabla", $conexion))
{

$consulta = "select DISTINCT convert(varchar(10),FechaConsulta,101) as FechaConsulta
from ConsultaPacientes where FechaConsulta between '$FechaIni'
and '$FechaFin' order by FechaConsulta";
$datos = mssql_query($consulta, $conexion);

$fechas = array();
$fechas[0][0][0] = "Médico";
$fechas[0][1][0] = "Empresa";
$numFechas = 1;
while( $unaFecha = mssql_fetch_array( $datos ))
{
$fechas[0][1][ $numFechas++ ] = $unaFecha['FechaConsulta'];
echo $fechas[0][1][ $numFechas++ ];
}

// Obtener los datos de médicos y pacientes atendidos
$consulta = "select isnull(med.PriNomb,'') + ' ' + isnull(med.SegNomb,'')
+ ' ' + isnull(med.PrimApel,'') + ' ' + isnull(med.SegApel,'')
as Medico,count(Factura) as Pacientes,emp.NombreEmp,
convert(varchar(10),FechaConsulta,101) as Fecha from
ConsultaPacientes cons,Medicos med,Empresas emp where cons.Medico=med.NumRegistro
and FechaConsulta between '05/01/2005' and '05/31/2005' and cons.Empresa=emp.NitEmp
group by emp.NombreEmp,med.PriNomb,med.SegNomb,med.PrimApel ,med.SegApel,
FechaConsulta";
$datos = mssql_query($consulta, $conexion);

$numMed = 0;
$medicoActual = '';

while( $unMedico = mssql_fetch_array( $datos ))
{
if ($unMedico['Medico'] != $medicoActual)
{
$numMed++;
$medicoActual = $unMedico['Medico'];
}
$fechas[ $numMed ][0][0] = $unMedico['Medico'];
$num = 1;
while( $num < $numFechas )
{
if ( $unMedico['Fecha'] == $fechas[0][0][ $num ] )
{
$fechas[ 0 ][$num][ 0 ] = $unMedico['NombreEmp'];
$fechas[ $numMed ][$num][ $num ] = $unMedico['Pacientes'];
}
else
{
if ( !isset($fechas[ $numMed ][ $num ][ $num ]) )
{
$fechas[ $numMed ][ $num ][ $num ] = '-';
}
}
$num++;
}
}
}
echo $fechas[4][0][4];
// Mostrar una tabla con los datos
$tablaDatos = "<table border=1>";
for ($med = 0; $med <= $numMed; $med++) {
$tablaDatos .= " <tr> ";
for ($num = 0; $num < $numFechas; $num++) {
$tablaDatos .= " <td> " . $fechas[ $med ][$num][ $num ] . " </td>";
}
$tablaDatos .= " </tr>";
}
$tablaDatos .= " </table>";

echo $tablaDatos;
?>

Bueno esta es mi forma de hacerlo pero me sale muy mal!!!
Solo me muestra los medicos.

Si puedes ayudarme estare muy agradecido.
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 03:34.