Ver Mensaje Individual
  #4 (permalink)  
Antiguo 21/10/2010, 17:35
sagitariosTheBest
 
Fecha de Ingreso: diciembre-2005
Mensajes: 201
Antigüedad: 18 años, 4 meses
Puntos: 2
Respuesta: como recorrer arreglo de tres dimenciones?

Este codigo en alguna ocacion me lo paso Nemutagk:
ahora lo estoy adoptando para otro proyecto.

El problema es que necesito imprimir mis modelos y las imagenes que se asocian a ese modelo.

el arreglo queda armado perfectamente como se los muestro arriba, el detalle es que quiero usar ligthbox y se usa de la siguiente manera.

Cita:
<a href=imagenes/imagenes.jpg rel=ligthbox[$modelo['modelo']]>
<img src=imagenes/aquivalathumb.jpg/>
</a>
el problema empieza cuando quiero usar el arreglo final $newArray. como esta formado no me permite imprimir mis imagens como quiero. me queda de la siguiente forma el foreach:

Código PHP:

foreach($newArray as $modelo){
    echo 
"<a href=../img/modelos/$modelo[modelo].jpg>";    
    echo 
"</a>";
    
       foreach(
$modelo['imagen'] as $imagen){
         echo 
"<img src=../img/modelos/$imagen>";        
         }
         
       }


//aqui necesito que quede al reves es decir que la etiqueta "a" envuelva a la
//"img"

//que quede asi para  yo poderlos imprimir de la manera correcta.
//echo "<a href=../img/modelos/$modelo[modelo].jpg>";    
//       echo "<img src=../img/modelos/$imagen>";    
//    echo "</a>"; 

Alguien ayudeme porfa no se como armar el arreglo de tal manera que primero queden las imagenes luego los 2 modelos asi poder imprimir sin problema dentro del foreach

Si alguien gusta puedo publicar la base de datos y el ejemplo completo para que vean de mejor forma espero me hayan entendido gracias

Código PHP:

<?php
        
        
function search_in_array($search,$array){
            
            
$count=0;
            foreach(
$array as $item){
                 if(
$item['modelo']==$search){
                 return 
$count;
                 }
            
$count++;    
            }
            return 
false;
        }
        
        include(
"../conexion/conexion.php");
           
            
            
$qry="select imagen,modelo
   from tblmodelo INNER JOIN tblimagen ON tblmodelo.id_modelo=tblimagen.id_modelo "
;               
            
$recurso=mysql_query($qry,$conn);
        
        if(!
$recurso){
           echo 
"no se envio la consulta";    
        }
     
     
$newArray=array();
     
$numItem=0;     
     while(
$row=mysql_fetch_assoc($recurso)){         
         
$valor=search_in_array($row['modelo'],$newArray);
         
             if(
$valor===false){
                
$newArray[$numItem]['modelo']= $row['modelo'];                           
              
$numItem++;                               
             } else{
                
$newArray[$valor]['imagen'][]=$row['imagen'];
                
             }                                 
        }      

   foreach(
$newArray as $modelo){
    echo 
"<p> El modelo es: ".$modelo['modelo']."</p>";
    echo 
'<ul><li>Tiene las siguientes Imagenes:</li>';
       foreach(
$modelo['imagen'] as $imagen){
         echo 
'<li>'.$imagen.'</li>';        
         }
         echo 
'</ul>';
       }

Última edición por sagitariosTheBest; 21/10/2010 a las 17:42