Foros del Web » Programando para Internet » PHP »

Cierre de Etiqueta en Bucle

Estas en el tema de Cierre de Etiqueta en Bucle en el foro de PHP en Foros del Web. Hola gente, tengo el siguiente problema (...he tratado de resolverlo, pero todos mis intentos fueron en vano). Tengo una base de datos con productos, para ...
  #1 (permalink)  
Antiguo 18/10/2011, 06:55
 
Fecha de Ingreso: mayo-2011
Mensajes: 17
Antigüedad: 13 años, 6 meses
Puntos: 2
Cierre de Etiqueta en Bucle

Hola gente, tengo el siguiente problema (...he tratado de resolverlo, pero todos mis intentos fueron en vano). Tengo una base de datos con productos, para llamar a dicha base de datos recurro a la siguiente funcion SQL:


Código HTML:
// traigo el listado de productos desde la BD
$arrModelos = array();
$query = "SELECT idModelo, nombremod, urlthumb FROM `modelos` WHERE idCategoria = {$_GET['id']} ORDER BY idModelo ASC";
$resultado3 = mysql_query ($query, $dbConn);
while ( $row = mysql_fetch_assoc ($resultado3)) {
	array_push( $arrModelos,$row );
}
Ahora bien, para imprimir los resultados realizo el siguiente bucle:

Código HTML:
<li>
    <? foreach ($arrModelos as $modelos) { ?>      
        <div id="item"><? echo "<a href=\"model.php?id=".$modelos['idModelo']."\"><img src=\"".$modelos['urlthumb']."\" width=\"230\" height=\"110\" /></a>" ?></div>	    
     <? } ?>   
</li> 
Los resultados se imprimen en pantalla perfectamente. El problema y lo que no logro resolver es que la etiqueta </li> se cierre dentro del bucle cada vez que muestran nueve productos (...estoy usando un script de paginacion), es decir, cada vez que el bucle se ejecuta nueve veces.

Si me pueden ayudar con esto, se los agradezco...
  #2 (permalink)  
Antiguo 18/10/2011, 07:03
Avatar de mcun  
Fecha de Ingreso: octubre-2010
Ubicación: tras la pantalla
Mensajes: 466
Antigüedad: 14 años, 1 mes
Puntos: 55
Respuesta: Cierre de Etiqueta en Bucle

lo que veo es que no la pones dentro de php sino pones php dentro de html

Código PHP:
Ver original
  1. foreach ($arrModelos as $modelos) {  
  2. echo '
  3. <li>  
  4.        <div id="item">
  5.            <a href="model.php?id=".'$modelos['idModelo'].'">
  6.           <img src=".'$modelos['urlthumb'].'" width="230" height="110" /></a>
  7.         </div>         
  8. </li>';
  9.  
  10. }

Última edición por mcun; 18/10/2011 a las 07:04 Razón: aclarar
  #3 (permalink)  
Antiguo 18/10/2011, 07:05
Avatar de Eleazan  
Fecha de Ingreso: abril-2008
Ubicación: Ibiza
Mensajes: 1.879
Antigüedad: 16 años, 7 meses
Puntos: 326
Respuesta: Cierre de Etiqueta en Bucle

Puedes hacer un bucle de este estilo:

Código PHP:
$i 0;
foreach (
$a as $b) {
    
//Lo q quieras q haga

    //Controlamos el contador. Si el resto entre 9 es 8, significa q es el 9º elemento!
    
if($i == 8) echo '</li><li>';
    
$i++;

Creo q algo así deberia funcionar, ahora mismo no puedo probarlo :)
__________________
>> Eleazan's Source
>> @Eleazan
  #4 (permalink)  
Antiguo 18/10/2011, 08:11
 
Fecha de Ingreso: mayo-2011
Mensajes: 17
Antigüedad: 13 años, 6 meses
Puntos: 2
Respuesta: Cierre de Etiqueta en Bucle

Cita:
Iniciado por mcun Ver Mensaje
lo que veo es que no la pones dentro de php sino pones php dentro de html
Si, ya lo se... fue a proposito simplemente para que capten la idea de que queria que cada bucle quede encerrado por dichas etiquetas.
  #5 (permalink)  
Antiguo 18/10/2011, 08:14
 
Fecha de Ingreso: mayo-2011
Mensajes: 17
Antigüedad: 13 años, 6 meses
Puntos: 2
Respuesta: Cierre de Etiqueta en Bucle

Eleazan:

Mil gracias!!! Funciono a la perfección. Lo unico que agregue es un echo con '</li>' luego del bucle, ya que el mismo no cerraba el ultimo <li>:

Código PHP:
<? 
          
echo '<li>';
              
$i 0;
              foreach (
$arrModelos as $modelos) {
              
//Lo q quieras q haga
              
echo "<a href=\"model.php?id=".$modelos['idModelo']."\"><img src=\"".$modelos['urlthumb']."\" width=\"230\" height=\"110\" /></a>";
              
//Controlamos el contador. Si el resto entre 9 es 8, significa q es el 9º elemento!
                 
if($i == 8) echo '</li><li>';
                 
$i++;
              }  
          echo 
'</li>';
?>
  #6 (permalink)  
Antiguo 19/10/2011, 01:51
Avatar de Eleazan  
Fecha de Ingreso: abril-2008
Ubicación: Ibiza
Mensajes: 1.879
Antigüedad: 16 años, 7 meses
Puntos: 326
Respuesta: Cierre de Etiqueta en Bucle

Cita:
Iniciado por chueke Ver Mensaje
Eleazan:

Mil gracias!!! Funciono a la perfección. Lo unico que agregue es un echo con '</li>' luego del bucle, ya que el mismo no cerraba el ultimo <li>:
Sólo pretendia darte una idea, orientarte a cómo solucionarlo.

No sé si será la forma más optima, pero, ahí la tienes :)

Me alegro q te haya servido, un saludo!
__________________
>> Eleazan's Source
>> @Eleazan

Etiquetas: bucle, etiqueta, mysql, sql
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 20:15.