This course will become read-only in the near future. Tell us at community.p2pu.org if that is a problem.

Despliega los mensajes [Feb. 13, 2012, 12:12 p.m.]



En la tarea anterior logramos almacenar mensajes en nuestra base de datos. En esta tarea vamos a ver cómo desplegar esos mensajes para que se muestren en nuestra página. 

Agrega el siguiente código debajo de tu formulario:
 
<?php

// Datos para la conexion
$host = 'mysql_host';
$database = 'mysql_database';
$username = 'mysql_user';
$password = 'mysql_pd';

// Conectarse a MySQL
$link = mysql_connect($host, $username, $password);
if (!$link) {
    die('Error al conectarse a mysql: ' . mysql_error());
}

// Seleccionar nuestra base de datos
$db_selected = mysql_select_db($database, $link);
if (!$db_selected) {
    die ('Error al abrir la base de datos: ' . mysql_error());
}

// Buscar todos los comentarios ordenados por fecha de manera descendiente
$query = "SELECT * from guestbook ORDER BY fecha_publicacion DESC";
$result = mysql_query($query);
if (!$result) {
  die('Query invalido: ' . mysql_error());
}

// Desplegar cada comentario como HTML
while ($fila = mysql_fetch_assoc($result)) {
  echo sprintf('
    <div class="mensaje">
      <p><span class="autor">%s:</span> %s</p>
      <p class="fecha">%s</p>
    </div>',
    htmlspecialchars($fila['nombre']), 
    htmlspecialchars($fila['mensaje']), 
    $fila['fecha_publicacion']
	);
}

mysql_free_result($result);

?>
(Recuerda que debes cambiar los datos de conexión para usar los valores de tu hosting.)
 
Si vuelves a entrar a tu página debes ver algo como como esto (puedes usar CSS para darle estilo a los comentarios).
 
Analicemos el ejemplo
 
La primera parte del código es igual a la que hemos estado usando en las tareas anteriores: colocar los datos de conexión, conectarse a MySQL y seleccionar nuestra base de datos.
 
El pedazo interesante empieza con esta línea:
 
$query = "SELECT * from guestbook ORDER BY fecha_publicacion DESC";
Con este query estamos diciendo: "Busca todos los registros en la tabla guestbook y ordénalos de manera descendiente en base a la columna fecha_publicacion."