PDA

Ver la versión completa : Php mostrar datos en dos columnas



bluescreen
25-09-2012, 13:42
Un pequeño, simple y funcional codigo para los que deseen obtener datos de una base de datos en mysql y mostrar las filas en una tabla de dos columnas:


<?php

$conexion = mysql_connect("localhost", "user", "password");


//hacemos la consulta
$query = "SELECT nombre, apellido FROM contactos";
$result = mysql_query($query, $conexion);

//creamos la tabla
echo "<table>";

//inciamos la variable columna a 1
$columna=1;


//empezamos el buble
While ($registro=mysql_fetch_array($result))
{

if ($columna==1) echo "<tr>"; //se abre la primera fila


echo "<td>".$registro["nombre"]."</td>";
echo "<td>".$registro["apellido"]."</td>";

if ($columna!=1)
{
echo "</tr>"; // la fila solo se cierra despues de la segunda columna
$columna=1;
}

else
{
$columna++; //incrementamos el valor en uno, ahora columna = 2
}


} //fin del while



echo "</table>"; //cerramos la tabla

?>

Podeis añadir mas <td></td> o insertar imagenes en lugar de texto.
He probado el codigo y funciona muy bien. Espero que os sirva. Saludos.

BumperZ
25-09-2012, 21:02
Gracias por el aporte compañero. Sólo unos pequeños detalles constructivos:

$conexion ¿no tendrías que declararlo antes cuando abres la conexión? Es que no aparece la linea de código en la que conectas con la base de datos.

Otra cosa, ese código funciona bien cuando hay exactamente 2 columnas, ya que si se meten más, se insertará el fin de fila </tr>, antes de haber finalizado, quedando columnas <td> fuera de las etiquetas <tr> </tr>.

De todas formas está muy bien, aunque yo prefiero utilizar clases en PHP que modelan el objeto que leo o escribo en la base de datos en vez de hacerlo así ya que si no, es muy poco mantenible, pero para una urgencia está bien ;).

bluescreen
25-09-2012, 23:47
Hola, he añadido las lineas de codigo que faltaban.

Si, este codigo solo sirve para dos columnas de datos. Para mostrar 3 columnas o mas deberiamos añadir algunos "else if" e ir incrementando el valor de columna.

Leere sobre las clases en php ya que lo desconozco. Pero debe ser interesante.

Gracias por colaborar.

clarinetista
27-09-2012, 19:57
Gracias a ambos :)

dviddesign
10-11-2012, 19:25
Amigos me pueden ayudar para mostrar 2 filas y varias columnas asi de esta manera
1 3 5 7 9
2 4 6 8 10