Mostrar Resultados de una Consulta a la Base de Datos en Dos columnas - Mostrar Resultados de una Consulta a la Base de Datos en Dos columnas

1 - Mostrar Resultados de una Consulta a la Base de Datos en Dos columnas


Artículo creado por Balú . Extraido de: http://www.baluart.net/articulo/15/mostrar-resultados-de-una-consulta-a-la-base-de-datos-en-dos-columnas.php
11 Agosto 2006
""

Muchos portales suelen mostrar sus noticias en dos columnas centrales, principalmente por cusestión de diseño, por lo que en este artículo mostramos una de las maneras de mostrar los resultados de una consulta a la base de datos en dos columnas, mediante el uso de la cláusula LIMIT de MySQL y la función SPRINTF de PHP.


El resultado tendría la siguiente estructura (siguiendo la petición que leí en un foro):
columna1 | columna2
      1           |       4
      2           |       5
      3           |       6


En primer lugar, lo obvio, nos conectamos a la BD:


<?php
$hostname = "localhost";
$database = "dos_columnas";
$username = "root";
$password = "";
$connection = mysql_pconnect($hostname, $username, $password) or trigger_error(mysql_error(),E_USER_ERROR);
?>


Luego, lo relevante, realizamos la consulta:


<?php
mysql_select_db($database, $connection);
$consulta = "SELECT columnas FROM tabla";
$limite_columna1 = sprintf("%s LIMIT %d, %d", $consulta, 0, 6);
$resultados1 = mysql_query($limite_columna1, $connection) or die(mysql_error());
$columna1 = mysql_fetch_assoc($resultados1);
$limite_columna2 = sprintf("%s LIMIT %d, %d", $consulta, 6, 6);
$resultados2 = mysql_query($limite_columna2, $connection) or die(mysql_error());
$columna2 = mysql_fetch_assoc($resultados2);
?>


Como vemos, esta es una típica consulta a la Base de Datos con la diferencia que creamos un par de variables más: $limite_columna1 y $limite_columna2. En estas variables almacenamos los resultados de la función sprintf de PHP ¿Y para qué? Pues, mediante esta función damos formato a la array que nos devuelve la consulta, indicándole dos patrones que deben mostrarse:
%s: que el argumento sea tratado como una cadena y se presente como tal.
%d: que el argumento sea tratado como un entero y se presente con notación decimal


Pero algo muy importante es que gracias a esta función podemos emplear la cláusula LIMIT con la que indicamos que registros de la variable $consulta vamos a mostrar, para este ejemplo, 6 registros empezando por el registro 0, en la variable $limite_columna1 y 6 registros empezando por el registro 6, en la variable $limite_columna2.


Finalmente creamos el html con el bucle do … while, o el de su preferencia, para mostrar los resultados:


<table>
<tr>
<td>
<table border="0" cellpadding="0" cellspacing="0">
  <tr>
    <td>materia1</td>
  </tr>
  <?php do { ?>
  <tr>
    <td><?php echo $columna1['titulo']; ?></td>
  </tr>
  <?php } while ($columna1 = mysql_fetch_assoc($resultados1)); ?>
</table>
</td>
<td>
<table border="0" cellpadding="0" cellspacing="0">
  <tr>
    <td>materia1</td>
  </tr>
  <?php do { ?>
  <tr>
    <td><?php echo $columna2['titulo']; ?></td>
  </tr>
  <?php } while ($columna2 = mysql_fetch_assoc($resultados2)); ?>
</table>
</td>
</tr>
</table>


Muy simple, verdad?

""

Autor y licencia de 'Mostrar Resultados de una Consulta a la Base de Datos en Dos columnas'

Esta obra está bajo una licencia de Creative Commons
Este contenido ha sido recopilado por el equipo de Wikilearning. Todo el contenido recopilado se ha obtenido respetando y comunicando en nuestro site la licencia de cada fuente.
Wikilearning tiene permiso expreso por escrito de los autores para publicar los contenidos que ha extraído de otras webs, incluyendo su uso comercial.