Foros del Web » Programando para Internet » PHP »

Array bidimensionales...ayuda!!!!please!!!

Estas en el tema de Array bidimensionales...ayuda!!!!please!!! en el foro de PHP en Foros del Web. Hola amigos, Bueno hace un par de días hice esta consulta pero me explique mal, por lo que ahora les hago la consulta de una ...
  #1 (permalink)  
Antiguo 13/11/2003, 15:04
Avatar de locojars  
Fecha de Ingreso: mayo-2002
Mensajes: 265
Antigüedad: 15 años, 7 meses
Puntos: 4
Array bidimensionales...ayuda!!!!please!!!

Hola amigos,

Bueno hace un par de días hice esta consulta pero me explique mal, por lo que ahora les hago la consulta de una manera más explicita.

Tengo catálogo donde tengo 3 títulos por ejemplo:
1-Activo
2-Pasivo
3-Patrimonio

Estos titulos son generados de una consulta de la tabla titulos.
Dentro de cada uno de los títulos hago una consulta a la tabla de cuentas. En cada título se repiten las cuentas por ejemplo.
1- Activo
121
122
123
2- Pasivo
121
122
123
3- Patrimonio
121
122
123

De esta forma muestro en cada título las 150 cuentas que tengo y en cada cuenta creo un checkbox para determinar que cuenta ha agregado en cada título, pero tengo que asociar la cuenta seleccionada con el título al que pertenece, para hacerlo cree lo siguiente:
<input type="checkbox" name="cuenta[]" value="<?php echo$row->cuenta;?>">
<input type="hidden" name="IDtit[<?php echo$row->cuenta;?>][]" value="<?php echo$IDtit;?>">
De esta forma cuando seleccione una cuenta deberia de asociar el IDtit con cada cuenta.

Para recorrer las cuentas con un FOR un FOREACH o un WHILE no tengo problema, el problema esta en recorrer el IDtit. Si selecciono por ejemplo el titulo 1 y 2 y las cuentas 121 y 123 el resultado que deberia obtener es:
cuenta 121 - IDtit 1
cuenta 123 - IDtit 1
cuenta 121 - IDtit 2
cuenta 123 - IDtit 2

Pero esto no me funciona ya que no encuentro la manera de recorrer el IDtit dentro de las cuentas. Había hecho algo como esto pero no me funciono ya que $j siempre permanece en 0(cero).
for($i=0;$i<sizeof($cuenta);$i++)
{
$i1 = $i+1;
for($j=0;$j<sizeof($IDtit[$cuenta[$i]]);$j++)
{
echo "cuenta ".$cuenta[$i]."-".$IDtit[$cuenta[$i]][$j];
}
}

Gracias por su ayuda.
Salu2
Jorge
  #2 (permalink)  
Antiguo 14/11/2003, 05:30
Avatar de jpinedo
Colaborador
 
Fecha de Ingreso: septiembre-2003
Ubicación: Lima, Perú
Mensajes: 3.120
Antigüedad: 14 años, 2 meses
Puntos: 41
locojars:
Creo que la mejor forma es utilizar foreach anidados. Se me ocurre así:
Código PHP:
foreach($cuenta as $valor_1){
    foreach(
$IDtit[$valor_1] as $valor_2){
        echo 
"cuenta ".$valor_1."-".$valor_2."<br />";
    }

Saludos
  #3 (permalink)  
Antiguo 14/11/2003, 05:43
Avatar de jpinedo
Colaborador
 
Fecha de Ingreso: septiembre-2003
Ubicación: Lima, Perú
Mensajes: 3.120
Antigüedad: 14 años, 2 meses
Puntos: 41
mmm... aunque si tu array viene de formulario, sería mejor utilizar los superglobales, así:
Código PHP:
foreach($_POST['cuenta'] as $valor_1){
    foreach(
$_POST['IDtit'][$valor_1] as $valor_2){
        echo 
"cuenta ".$valor_1."-".$valor_2."<br />";
    }

No sé si es lo que querías, pero creo que te puede dar una idea bastante buena de qué hacer.

Saludos
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 02:47.