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

Haber voy a plantear nuevamente el problema por que le he planteado de manera espantosa sirve que se entiende mejor , por que la verdad lo hice muy mal.

Tengo un directorio "img/modelos" en este directorio tengo todas mis imagenes. clasificadas de la siguiente manera.

-modelo
-modelo1
-modelo2
-modelo3
-modelo4
-modelo5

donde "modelo" es la imagen pequeña que deseo poner en la etiqueta
"<img src=img/modelos/modelo.jpg>"

bien hasta aqui vamos bien.

con la siguiente consulta:
Cita:
select imagen,modelo
from tblmodelo INNER JOIN tblimagen ON tblmodelo.id_modelo=tblimagen.id_modelo
obtengo mis registros repetidos
Cita:
columnas

Imagenes Modelo

modelo.jpg modelo
modelo1.jpg modelo
modelo2.jpg modelo
modelo3.jpg modelo
modelo4.jpg modelo
modelo5.jpg modelo

modelo.jpg modelo2
modelo1.jpg modelo2
modelo2.jpg modelo2
modelo3.jpg modelo2
modelo4.jpg modelo2
modelo5.jpg modelo2

ahora hace tiempo Nemutagk: me paso un maravilloso codigo que resolvio el problema de que se repiten los nombres en la columna modelo. es el siguiente:

Código 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>';
       } 
con este codigo obtengo un array como sigue:

Código PHP:
Array
(
    [
0] => Array
        (
            [
modelo] => aguila
            
[imagen] => Array
                (
                    [
0] => aguila1.jpg
                    
[1] => aguila2.jpg
                    
[2] => aguila3.jpg
                    
[3] => aguila4.jpg
                    
[4] => aguila5.jpg
                
)

        )

    [
1] => Array
        (
            [
modelo] => caracol
            
[imagen] => Array
                (
                    [
0] => caracol1.jpg
                    
[1] => caracol2.jpg
                    
[2] => caracol3.jpg
                    
[3] => caracol4.jpg
                    
[4] => caracol5.jpg
                
)

        )


bien ahora ese array lo quiero usar para jalar las imagenes pero deseo usar ligthbox:

pero la forma en como esta armador $newArray no me permite usar con ligthbox por que necesito imprimirlo de las siguiente manera.

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 que me pueda orientar, de como armar $newArray de tal manera que pueda envolver con la etiqueta "<a>" a img??
si necesitan la base de datos y las el codigo completo estoy dispuesto a pasar la base de datos, llevo ya muchos dias con este problema sin obtener resultado alguno me he comenzado a desesperar

ayuda porfavor

Última edición por sagitariosTheBest; 21/10/2010 a las 18:07