Foros del Web » Programando para Internet » PHP »

Mostrar de 3 en 3

Estas en el tema de Mostrar de 3 en 3 en el foro de PHP en Foros del Web. Buen día compañeros, estoy tratando de hacer un loop (aun no le capto lo suficiente) pero no se por donde empezar, ya que quiero que ...
  #1 (permalink)  
Antiguo 24/01/2019, 19:02
 
Fecha de Ingreso: agosto-2013
Ubicación: Guatemala
Mensajes: 137
Antigüedad: 10 años, 8 meses
Puntos: 4
Mostrar de 3 en 3

Buen día compañeros, estoy tratando de hacer un loop (aun no le capto lo suficiente) pero no se por donde empezar, ya que quiero que me muestre 4 resultados a la vez como una paginación solo que en lugar de ir de pagina en pagina me muestre la información en la misma pagina.

Tengo esta consulta
Código PHP:
$sql=$cn->query("SELECT nombre FROM titulos");
$i=0;
$total $sql->num_rows//cuento cuatos datos hay los cuales son 15
$i ceil($total/3); // divido entre 3 y salen 5 
Lo siguiente es hacer que los resultados se muestren en DIVS para que al cambiar de tamaño cambien tambien de posición ya que estoy utilizando Bootstrap 4

Código HTML:
Ver original
  1. <div class="container-fluid">
  2. <div class="row">
  3.   <div class="col-sm-12">
  4.     <div class="row">
  5.       <div class="col-sm-4"><?php echo $i;?></div> <!-- que los primeros 3 se muestren aqui-->
  6.       <div class="col-sm-4">.col-sm-6</div>
  7.       <div class="col-sm-4">.col-sm-6</div>
  8.     </div>
  9.     <div class="row">
  10.       <div class="col-sm-4">.col-sm-6</div> <!-- aqui los siguientes 3  y asi sucesivamente-->
  11.       <div class="col-sm-4">.col-sm-6</div>
  12.       <div class="col-sm-4">.col-sm-6</div>
  13.     </div>
  14.   </div>
  15. </div>
  16. </div>
Espero haber explicado bien, de ante mano gracias.
  #2 (permalink)  
Antiguo 24/01/2019, 20:00
 
Fecha de Ingreso: abril-2006
Mensajes: 583
Antigüedad: 18 años
Puntos: 120
Respuesta: Mostrar de 3 en 3

has un bucle, y mediante un contador, y luego cuando se cumpla el conteo le agregas los tags que lo separan

Código PHP:
Ver original
  1. <div class="container-fluid">
  2. <div class="row">
  3.   <div class="col-sm-12">
  4.   <div class="row">
  5. <?php
  6. $rows = $pdo->FetchAll();
  7. $count=0;
  8. foreach($rows as $row):$count++;?>
  9.     <div class="col-sm-4">.col-sm-6</div>    
  10. <?php
  11.     if($count>2){ //si llega a 2 reiniciamos y mostramos el separador
  12.         echo '</div><div class="row">';
  13.         $count=0;
  14.     }
  15. endforeach;?>
  16.     </div>
  17.   </div>
  18. </div>
  19. </div>
__________________
Mis aportes te ayudaron??, te hicieron ahorrar valiosos tiempo??, si quieres puedes agradecerme con un Gracias o con una donacion
https://paypal.com/pools/c/8lmNLmWnG9
  #3 (permalink)  
Antiguo 25/01/2019, 23:14
Avatar de xfxstudios  
Fecha de Ingreso: junio-2015
Ubicación: Valencia - Venezuela
Mensajes: 2.448
Antigüedad: 8 años, 10 meses
Puntos: 263
Respuesta: Mostrar de 3 en 3

Yo utilizaría el Operador aritmético Módulo % para calcular el residuo, de esta manera:

Código PHP:
Ver original
  1. <div class="container-fluid">
  2. <div class="row">
  3.   <div class="col-sm-12">
  4.     <div class="row">
  5.     <?php $con = 1;//Inicio esta variable de control
  6.         foreach($row as $item){ ?>
  7.       <div class="col-sm-4"><?php echo $con;?></div>
  8.     <?php
  9.     //Verifico el residuo si es cero y cierro el div y abro el siguiente grupo
  10.     if( ($con%3)==0){ echo '</div><div class="row">';  }; ?>
  11.     </div>
  12.   </div>
  13. </div>
  14. </div>

eso debería de imprimirte los bloques de tres en tres dejando el residuo al final, por ejemplo si quedan 2 o 1.

Prueba y dinos. Saludos
__________________
[email protected]
HITCEL

Etiquetas: bootstrap, 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 05:10.