Foros del Web » Programando para Internet » PHP »

PHP OO Pagina web PHP + MYSQL + MVC

Estas en el tema de Pagina web PHP + MYSQL + MVC en el foro de PHP en Foros del Web. Hola, estoy creando una pagina web, y tengo un problema al mostrar unos datos de la base de datos en una vista. Tengo en el ...
  #1 (permalink)  
Antiguo 28/06/2016, 04:52
 
Fecha de Ingreso: junio-2016
Mensajes: 2
Antigüedad: 8 años, 4 meses
Puntos: 0
Pagina web PHP + MYSQL + MVC

Hola, estoy creando una pagina web, y tengo un problema al mostrar unos datos de la base de datos en una vista.

Tengo en el controlador, la conexion a la base de datos y a las tablas, tengo el controlador que me lleva a cada una de las vistas, y en la vista que tengo el problema es el siguiente.

Tengo este codigo:

<div>
<table>
<form method="POST" action="index.php">
<?php
$columnas = 1;
$filas = 1;
for ($i = 1; $i <= $filas; $i++) { ?>
<?php for ($j = 1; $j <= $columnas; $j++) { ?>
<tr>
<?php foreach ($datos1 as $datos) { ?>
<td>
<img height="42" width="42" src="imagenes/<?php echo $datos['foto']; ?>" />
<button style="background:transparent; border:0px;" type="submit" name="action" value="<?php echo $datos['id']?>">
<?php echo $datos['nombre']; ?>
</button>
</td>
<?php } ?>
</tr>
<?php } ?>
<?php } ?>

Lo que hago es recorrer todos los valores de la tabla de la base de datos y mostrarlos en una tabla, pero no me los muestra como quiero, simplemente me hace esto:

DATO1 | DATO2 | DATO3 | DATO4 | DATO5 | DATO6.....

Y lo que quiero que me haga es:

DATO1 | DATO2 | DATO3 | DATO4
DATO5 | DATO6 | DATO7 | DATO8
(.....)

Llevo un rato buscando la solución y no la encuentro.

Saludos
  #2 (permalink)  
Antiguo 28/06/2016, 05:38
 
Fecha de Ingreso: octubre-2010
Ubicación: España
Mensajes: 1.007
Antigüedad: 14 años, 1 mes
Puntos: 123
Respuesta: Pagina web PHP + MYSQL + MVC

Los tr de la tabla deberían estar dentro del foreach.
__________________
Unset($vida['malRollo']);
  #3 (permalink)  
Antiguo 28/06/2016, 05:48
 
Fecha de Ingreso: junio-2016
Mensajes: 2
Antigüedad: 8 años, 4 meses
Puntos: 0
Respuesta: Pagina web PHP + MYSQL + MVC

Cita:
Iniciado por xerifandtomas Ver Mensaje
Los tr de la tabla deberían estar dentro del foreach.
Si lo pongo debajo me lo muestra asi:

DATO1
DATO2
DATO3
DATO4
DATO5
(....)
  #4 (permalink)  
Antiguo 28/06/2016, 14:27
 
Fecha de Ingreso: diciembre-2015
Ubicación: México
Mensajes: 280
Antigüedad: 8 años, 11 meses
Puntos: 20
Respuesta: Pagina web PHP + MYSQL + MVC

Hola amigo,
tal vez sea porque el numero de filas lo estás definiendo a 1, es por eso que únicamente de agrega una fila :P , de ahi en fuera veo todo "normal"
Saludos!
  #5 (permalink)  
Antiguo 28/06/2016, 17:30
 
Fecha de Ingreso: octubre-2010
Ubicación: España
Mensajes: 1.007
Antigüedad: 14 años, 1 mes
Puntos: 123
Respuesta: Pagina web PHP + MYSQL + MVC

Cita:
Iniciado por JYC8 Ver Mensaje
Si lo pongo debajo me lo muestra asi:

DATO1
DATO2
DATO3
DATO4
DATO5
(....)

No habia entendido bien lo que pretendias hacer.

Para tu caso podrias utilizar array_chunk

Te dejo un ejemplo comentado para que te hagas una idea:
Código PHP:
<table border="1">
<?php
// el array a dividir
$myArray = array( 1,2,3,4,5,6,7,8,9,10,11,12,13, );
//numero de columnas
$numero_de_columnas=3;
//dividimos el array por el numero de columnas, generando un array multidimensional
$myArray_dividido=array_chunk($myArray$numero_de_columnas);
// Optenemos el numero de elementos, cada uno sera una fila de la tabla
$count_myArray_dividido=count($myArray_dividido);
//creamos un form para recorrer todas las filas
for ($i=0$i $count_myArray_dividido $i++) {
    
// abrimos la fila
    
echo '<tr>';
    
// Recorremos las columnas de la fila
    
foreach ($myArray_dividido[$i] as $key => $value) {
        echo 
'<td>'.$key.'=>'.$value.'</td>';
    }
    
// cerramos la fila
    
echo '</tr>';
}
?>
</table>
__________________
Unset($vida['malRollo']);

Etiquetas: mvc, mysql, tabla
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 14:05.