Foros del Web » Programando para Internet » PHP »

Ayuda con foreach

Estas en el tema de Ayuda con foreach en el foro de PHP en Foros del Web. Hola amigos tengo un problemita con la logica y bueno necesito su ayuda. Resulta que me baje una libreria de php para imagenes que es ...
  #1 (permalink)  
Antiguo 22/05/2009, 14:33
Avatar de cesarpunk  
Fecha de Ingreso: enero-2008
Ubicación: Lima
Mensajes: 943
Antigüedad: 16 años, 3 meses
Puntos: 9
Ayuda con foreach

Hola amigos tengo un problemita con la logica y bueno necesito su ayuda.

Resulta que me baje una libreria de php para imagenes que es super util pero para mostrar las imagenes primero mete los parametros en arrays:

Código PHP:
<?php
$phpThumbBase      
'phpThumb.php';
$img['portrait']   = 'images/1.jpg';
$img['portrait2']   = 'images/2.jpg';
$img['portrait3']   = 'images/3.jpg';
$img['portrait4']   = 'images/4.jpg';
$img['portrait5']   = 'images/5.jpg';


$Examples[] = array('getstrings' => array($phpThumbBase.'?src='.$img['portrait'].'&w=106&h=112&far=C&bg=FE9900&f=png&fltr[]=bord|1'), 'description' => 'Mi imagen');
$Examples[] = array('getstrings' => array($phpThumbBase.'?src='.$img['portrait2'].'&w=106&h=112&far=C&bg=FE9900&f=png&fltr[]=bord|1'), 'description' => 'Mi imagen2');
$Examples[] = array('getstrings' => array($phpThumbBase.'?src='.$img['portrait3'].'&w=106&h=112&far=C&bg=FE9900&f=png&fltr[]=bord|1'), 'description' => 'Mi imagen3');
$Examples[] = array('getstrings' => array($phpThumbBase.'?src='.$img['portrait4'].'&w=106&h=112&far=C&bg=FE9900&f=png&fltr[]=bord|1'), 'description' => 'Mi imagen4');
$Examples[] = array('getstrings' => array($phpThumbBase.'?src='.$img['portrait5'].'&w=106&h=112&far=C&bg=FE9900&f=png&fltr[]=bord|1'), 'description' => 'Mi imagen5');

?>
Y para mostrarlos usa 2 foreach llamando dtos de una clase:

Código PHP:

<table border="1">
<tr>
<?php
foreach ($Examples as $key => $ExamplesArray) {
    
$text '';
    foreach (
$ExamplesArray['getstrings'] as $dummy => $GETstring) {
        echo 
'<td style="padding: 20px;">';
        if (
$GETstring == "\n") {
            echo 
'<br>';
            
$text .= "\n";
        } else {
            echo 
'<table border="0" cellpadding="0" cellspacing="0">
                      <tr>
                        <td align="center"><a href="detalle.html"><img border="0" src="'
.htmlentities($GETstring).'" alt="'.$ExamplesArray['description'].'"></a></td>
                      </tr>
                      <tr>
                        <td height="14" align="center" class="fontGallery"><a href="#" class="enlaceGallery">Ref. 0004</a> </td>
                      </tr>
                    </table>'
;
            echo 
'</a> ';
        }
        echo 
'</td>';
    }
}
?>
</tr>
</table>

Bueno en este caso yo muestro los datos en una fila y se distribuye en columnas del mismo numero que imagenes.

Lo que yo deseo es que se muestren 4 imagenes por columnas asi varien el numero de imagenes.... y me enreda un poco en donde preguntar si se ha llegado a 4 columnas, me podrian ayudar?
__________________
Quitenme la vida pero no la bebida.
  #2 (permalink)  
Antiguo 22/05/2009, 18:34
okram
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Ayuda con foreach

Añade un contador al ciclo, y verifica en cada loop si el número es o no un múltiplo de 4:

Código php:
Ver original
  1. $contador = 0;
  2.  
  3. foreach($array as $k => $v) {
  4.     if(++$contador % 4 == 0) {
  5.         // La fila tiene 4 columnas
  6.     } else {
  7.         // La fila aún tiene menos de 4 columnas
  8.     }
  9. }
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 07:37.