Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] problema al mostrar datos dinamicos

Estas en el tema de problema al mostrar datos dinamicos en el foro de PHP en Foros del Web. Hola, Mi problema al rato para ustedes es simple pero yo llevo rato dandole vueltas al asunto y no he podido solucionarlo, la cuestion es ...
  #1 (permalink)  
Antiguo 12/04/2015, 09:14
 
Fecha de Ingreso: noviembre-2013
Ubicación: New York
Mensajes: 114
Antigüedad: 10 años, 5 meses
Puntos: 1
Pregunta problema al mostrar datos dinamicos

Hola,

Mi problema al rato para ustedes es simple pero yo llevo rato dandole vueltas al asunto y no he podido solucionarlo, la cuestion es que tengo un div llamado span2 donde muestro una lista de productos en mosaicos que van en orden de 3 en 3, pero el problema que tengo es que al llenarlos se me desfigura todo el estilo ya que cada 3 productos debo cerrar el span por donde va y abrir otro y no se como hacerlo, ademas se me presenta un inconveniente mas... y es que a veces solo pueden haber por ejemplo 8 productos lo que quiere decir que se mostrarian primero 3, luego otros 3 y luego 2 productos, espero explicarme bien, mi codigo para el llenado es este:
Código HTML:
<div class="span_2">          
			   <?php foreach($data_products as $products){?>
                  <div class="col_1_of_single1 span_1_of_single1">
	          	    <a href="products_details.html?p=<?php echo $products['pro_code']?>">
				     <img src="<?php echo $products['pro_image1']?>" class="img-responsive" alt=""/>
				     <h3><?php echo utf8_encode($products['pro_name'])?></h3>
				   	 <p><?php echo  utf8_encode($products['pro_description_fast'])?></p>
				   	 <h4>Cod. <?php echo $products['pro_code']?></h4>
			         </a>  
		   </div> 
              <?php } ?>
    <div class="clearfix"></div>
</div> 
Alguien quien pueda ayudarme ?
  #2 (permalink)  
Antiguo 12/04/2015, 09:45
 
Fecha de Ingreso: noviembre-2013
Ubicación: New York
Mensajes: 114
Antigüedad: 10 años, 5 meses
Puntos: 1
Exclamación Respuesta: problema al mostrar datos dinamicos

Gente segui dandole haber si lo logro y bueno aun no lo he logrado, tengo este codigo que si bien me imprime de 3 en 3, cuando por ejemplo son 8 productos me imprime solo 6 los otros 2 me los deja por fuera:
Código PHP:
          <div class="span_2">          
<?php 
        $max 
3// Numero maximo de columnas por fila 
        
$bloq 0// Contador para el maximo 
             
foreach($data_products as $products){
                
                if (
$bloq $max) {      
?>
                  <div class="col_1_of_single1 span_1_of_single1">
                      <a href="products_details.html?p=<?php echo $products['pro_code']?>">
                     <img src="<?php echo $products['pro_image1']?>" class="img-responsive" alt=""/>
                     <h3><?php echo utf8_encode($products['pro_name'])?></h3>
                        <p><?php echo  utf8_encode($products['pro_description_fast'])?></p>
                        <h4>Cod. <?php echo $products['pro_code']?></h4>
                     </a>  
                  </div> 
<?php          
                $bloq
++;
               }else{ 
?>
                  </div><div class="clearfix"></div><div class="span_2">
<?php 
                 $bloq 
0/* Le damos un reset al contador */ 
             
//cierre else 
          
// cierre foreach 
?>
              </div><div class="clearfix"></div>
  #3 (permalink)  
Antiguo 12/04/2015, 09:56
Avatar de NSD
NSD
Colaborador
 
Fecha de Ingreso: mayo-2012
Ubicación: Somewhere
Mensajes: 1.332
Antigüedad: 11 años, 11 meses
Puntos: 320
Respuesta: problema al mostrar datos dinamicos

Se me ocurren 2 formas posibles de resolverlo:
Código PHP:
Ver original
  1. <?php
  2.     // Parametros.
  3.     $data = [1,2,3,4,5,6,7,8];
  4.     $cols = 3;
  5.    
  6.     // Procedimiento.
  7.     $col = 0;    
  8.     foreach($data as $nro) {        
  9.         if($col === 3) {
  10.             echo "</div>";
  11.             $col = 0;
  12.         }
  13.        
  14.         if($col === 0)
  15.             echo "<div class=\"row-$cols-cols\">";
  16.        
  17.         echo "<div class=\"col-$col\">$nro</div>";
  18.        
  19.         $col++;
  20.     }
  21.     while($col !== 3) {        
  22.         echo "<div class=\"col-$col\">-</div>";
  23.         $col++;
  24.     }
  25.     echo "</div>";    
  26. ?>

y

Código PHP:
Ver original
  1. <?php
  2.     // Parametros.
  3.     $data = [1,2,3,4,5,6,7,8];
  4.     $cols = 3;
  5.    
  6.     // Procedimiento.
  7.     $cant = count($data);
  8.     $cant = $cant + ($cant % $cols) - 1;
  9.    
  10.     for($col=0; $col<$cant; $col++) {
  11.         $nro = (array_key_exists($col, $data) ? $data[$col] : "-");
  12.        
  13.         if($col % 3 === 0)
  14.             echo "<div class=\"row-$cols-cols\">";
  15.        
  16.         echo "<div class=\"col-$col\">$nro</div>";
  17.        
  18.         if(($col+1) % 3 === 0)
  19.             echo "</div>";
  20.     }
  21. ?>
__________________
Maratón de desafíos PHP Junio - Agosto 2015 en FDW | Reglamento - Desafios
  #4 (permalink)  
Antiguo 12/04/2015, 10:09
 
Fecha de Ingreso: noviembre-2013
Ubicación: New York
Mensajes: 114
Antigüedad: 10 años, 5 meses
Puntos: 1
Pregunta Respuesta: problema al mostrar datos dinamicos

Amigo puedes explicarme un poco tu codigo por favor ? es para adactarlo al mio gracias
  #5 (permalink)  
Antiguo 12/04/2015, 10:53
 
Fecha de Ingreso: noviembre-2013
Ubicación: New York
Mensajes: 114
Antigüedad: 10 años, 5 meses
Puntos: 1
De acuerdo Respuesta: problema al mostrar datos dinamicos

NSD Mira adapte tu codigo al mio y me funciono a la perfeccion, eso si tuve que analizar detenidamente que era lo que hacias pero al final lo logre entender, la cuestion es que te debo una de verdad te agradezco la ayuda, manita arriba contigo...

dejo el codigo por si a alguien le llega a pasar lo mismo:
Código PHP:
<?php 
                 
// Parametros.
                
$cols 3;
                
                
// Procedimiento.
                
$col 0;    
                foreach(
$data_products as $products) {        
                    if(
$col === 3) {
                        echo 
"</div><div class='clearfix'></div>";
                        
$col 0;
                    }
                    
                    if(
$col === 0)
                        echo 
"<div class=\"span_$cols\">";
                    
            
?>
                 <div class="col_1_of_single1 span_1_of_single1">
                      <a href="products_details.html?p=<?php echo $products['pro_code']?>">
                     <img src="<?php echo $products['pro_image1']?>" class="img-responsive" alt=""/>
                     <h3><?php echo utf8_encode($products['pro_name'])?></h3>
                        <p><?php echo  utf8_encode($products['pro_description_fast'])?></p>
                        <h4>Cod. <?php echo $products['pro_code']?></h4>
                     </a>  
                  </div> 
                <?php        
                    $col
++;
                }
                while(
$col !== 3) {        
                    echo 
"<div class=\"col-$col\"></div>";
                    
$col++;
                }
                echo 
"</div>";  
             
?>

Etiquetas: dinamicos, html
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 03:26.