Foros del Web » Programando para Internet » PHP »

3 noticias por fila en una tabla HTML

Estas en el tema de 3 noticias por fila en una tabla HTML en el foro de PHP en Foros del Web. Hasta ahora, siempre he mostrado las noticias de una base de datos poniendo una debajo de la otra, usando así siempre mismo bucle. Ejemplo: A ...
  #1 (permalink)  
Antiguo 05/07/2005, 12:04
Avatar de david_M_G  
Fecha de Ingreso: febrero-2005
Mensajes: 938
Antigüedad: 12 años, 10 meses
Puntos: 20
3 noticias por fila en una tabla HTML

Hasta ahora, siempre he mostrado las noticias de una base de datos poniendo una debajo de la otra, usando así siempre mismo bucle.

Ejemplo:

A
B
C
D
E
...


Pero ahora me gustaría mostrar las noticias, de forma que en una tabla (HTML) haya tres celdas por fila (3 columnas) y en cada una de ellas, una noticia.

Ejemplo:

A B C
D E F
G H I
...



Entonces habría que señalar que cada 3 noticias haga una fila nueva..¿¿Pero cómo??
Lo he intentado de varias maneras y no lo consigo...estoy desesperado. A ver si me podéis ayudar.

Gracias de antemano

Última edición por david_M_G; 05/07/2005 a las 12:09
  #2 (permalink)  
Antiguo 05/07/2005, 12:26
Avatar de PabloP  
Fecha de Ingreso: marzo-2005
Mensajes: 83
Antigüedad: 12 años, 8 meses
Puntos: 0
Aqui esta lo que necesitas, esta aplicación la hice para una galería de fotos dinámica pero basta con que cambies las instrucciones sql para traer tus noticias. La variable $tampag indica cuantas noticias traeras por pantalla mientras que la variable $counter indicará la cantidad de columnas antes de habrir otra fila.

<?php
require_once('../Connections/conexportal.php');
if (!isset($pag)) $pag = 1; // Por defecto, pagina 1
//Cuenta cuantas noticias existen en la consulta
mysql_select_db($database_conexportal, $conexportal);
$consulta_imagen = ("SELECT COUNT(*) FROM galeria");
$consulta_reg = mysql_query($consulta_imagen, $conexportal) or die(mysql_error());

list($total) = mysql_fetch_row($consulta_reg);
$tampag = 25;
$reg1 = ($pag-1) * $tampag;
///////////////////////////////////////////////////////////////////
mysql_select_db($database_conexportal, $conexportal);
$query_image = "SELECT * FROM galeria LIMIT $reg1, $tampag";
$reg = mysql_query($query_image, $conexportal) or die(mysql_error());

if (mysql_num_rows($reg)){
$counter = 0;
echo "<table width='550' border = '1'> \n";

while ($row = @mysql_fetch_array($reg)) {
if ($counter != 5)
{
echo "<td>".$row["id"]."</td>"; //aqui se ve el id, tu agrega mas campos
$counter++; //dentro de la misma columna
}
if ($counter == 5)
{echo "</tr>"; $counter = 0;}
}
echo "</tr>";
echo "</table> \n";
}
else
echo "¡ No se ha encontrado ningún registro !";


/* Funcion paginar
* actual: Pagina actual
* total: Total de registros
* por_pagina: Registros por pagina
* enlace: Texto del enlace
* Devuelve un texto que representa la paginacion
*/
function paginar($actual, $total, $por_pagina, $enlace) {
$total_paginas = ceil($total/$por_pagina);
$anterior = $actual - 1;
$posterior = $actual + 1;

if ($actual>1)
$texto = "<a href=\"$enlace$anterior\">&laquo;</a> ";
else
$texto = "<b>&laquo;</b> ";
for ($i=1; $i<$actual; $i++)
$texto .= "<a href=\"$enlace$i\">$i</a> ";
$texto .= "<b>$actual</b> ";
for ($i=$actual+1; $i<=$total_paginas; $i++)
$texto .= "<a href=\"$enlace$i\">$i</a> ";
if ($actual<$total_paginas)
$texto .= "<a href=\"$enlace$posterior\">&raquo;</a>";
else
$texto .= "<b>&raquo;</b>";
return $texto;
}

echo paginar($pag, $total, $tampag, "gallery.php?pag=");
?>
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 07:10.