Foros del Web » Programando para Internet » PHP »

HTML y PHP situación con celdas

Estas en el tema de HTML y PHP situación con celdas en el foro de PHP en Foros del Web. Hola, tengo un problema en una tabla html en la que estoy insertando un código php para que muestre en una celda <td> los títulos ...
  #1 (permalink)  
Antiguo 03/05/2005, 10:45
 
Fecha de Ingreso: abril-2005
Mensajes: 50
Antigüedad: 12 años, 8 meses
Puntos: 0
HTML y PHP situación con celdas

Hola, tengo un problema en una tabla html en la que estoy insertando un código php para que muestre en una celda <td> los títulos de una serie de noticias almacenadas en una base de datos MySQL.

La cuestión es que los títulos, en vez de mostrarse uno abajo del otro, se muestran a la derecha del anterior lo que modifica las tablas y las ensancha, afectando la estética de la página.

He puesto etiquetas <p> y <br> en el lugar en el que deben de ir pero no ha bastado, incluso intente utilizar /n pero o lo hice mal o no funcionó.

Espero puedan ayudarme,

Saludos

P.D. A continuación pongo el código:

Código PHP:
<?php 
// Se incluyen los documentos con la información para conectarse a la Base de Datos

include('config/confbd.php');
include(
'config/conectarbd.php');


// Se realiza la consulta a la base de datos

$query "SELECT id, titulo, fecha, id_ano, id_mes, id_dia, id_encabezado FROM p_documentos ORDER BY id_ano desc, id_mes desc, id_dia desc LIMIT 1,2";

$result mysql_query($query) or die ("Error in query: $query. " mysql_error());
   
?>

 <!--Comienza el código HTML... Para no llenar de código este ejemplo, no pongo toda la información de la página más que las celdas en cuestión-->

<html>


<body>

<table width="100%"  border="0" cellspacing="0" cellpadding="0">
  <!--DWLayoutTable-->

<tr>
<?php 

// Incluyo la función que formatea la fecha

include('config/funciones.php');    
  
// Si la consulta a la base de datos arrojó resultados, entonces...

if (mysql_num_rows($result) > 0)
{
      
// Imprimir los resultados según lo establecido en la consulta a la BD

      
while($row mysql_fetch_object($result))
      {
      
$id $row->id;
?>

 <!--AQUÍ ES EL PROBLEMA-->
  
<td rowspan="2" valign="top">
<p><span class="Estilo3">
<a href="#self" onClick="MM_openBrWindow('usuario/documento_prensa.php?id=<?php echo $id;?>','','toolbar=yes,status=yes,scrollbars=yes,resizable=yes,width=650,height=550')"><?php echo $row->titulo?>...</a>
</span><br />
<span class="Estilo6"><?php echo formatDate($row->fecha); ?></span></p>
<p>&nbsp;</p></td>
<td height="117"></td>

<?php
    
}
}
// Si no se encontró informacion en la BD

else
{
// Cerrar la conexión a la Base de Datos
mysql_close($connection);
}
?>
       
</tr>
  #2 (permalink)  
Antiguo 03/05/2005, 10:52
Avatar de Salome  
Fecha de Ingreso: noviembre-2002
Ubicación: Colombia
Mensajes: 1.032
Antigüedad: 15 años, 1 mes
Puntos: 1
Si queres que se muestre uno debajo de otro.. cada vez que mostres un título debes tener un <tr> para que te cree otra fila...

<table>
<tr>
<td>Titulo noticia 1</td>
</tr>
<tr>
<td>Titulo noticia 2</td>
</tr>

</table>
  #3 (permalink)  
Antiguo 03/05/2005, 11:25
 
Fecha de Ingreso: abril-2005
Mensajes: 50
Antigüedad: 12 años, 8 meses
Puntos: 0
Lo modifiqué de la siguiente manera, pero el resultado fue que se alejejaron aún más hacia la derecha los títulos uno del otro.


<!--AQUÍ ES EL PROBLEMA-->
<tr> (inserté esta etiqueta)
<td rowspan="2" valign="top">
<p><span class="Estilo3">
<a href="#self" onClick="MM_openBrWindow('usuario/documento_prensa.php?id=<?php echo $id;?>','','toolbar=yes,status=yes,scrollbars=yes, resiza ble=yes,width=650,height=550')"><?php echo $row->titulo; ?>...</a>
</span><br />
<span class="Estilo6"><?php echo formatDate($row->fecha); ?></span></p>
<p>&nbsp;</p></td>
<td height="117"></td>
</tr> (inserté esta etiqueta)

Saludos
  #4 (permalink)  
Antiguo 03/05/2005, 11:37
Avatar de DINASEN  
Fecha de Ingreso: marzo-2003
Mensajes: 997
Antigüedad: 14 años, 9 meses
Puntos: 1
puedes probar a crear una tabla por noticia

<!--AQUÍ ES EL PROBLEMA-->
<table>
<tr> (inserté esta etiqueta)
<td rowspan="2" valign="top">
<p><span class="Estilo3">
<a href="#self" onClick="MM_openBrWindow('usuario/documento_prensa.php?id=<?php echo $id;?>','','toolbar=yes,status=yes,scrollbars=yes, resiza ble=yes,width=650,height=550')"><?php echo $row->titulo; ?>...</a>
</span><br />
<span class="Estilo6"><?php echo formatDate($row->fecha); ?></span></p>
<p>&nbsp;</p></td>
<td height="117"></td>
</tr> (inserté esta etiqueta)
</table>


por supuesto quitando la anterior

Un Saludo
  #5 (permalink)  
Antiguo 03/05/2005, 12:13
 
Fecha de Ingreso: abril-2005
Mensajes: 50
Antigüedad: 12 años, 8 meses
Puntos: 0
Ya lo solucioné, el problema estaba en que las etiquetas HTML <td> estaban dentro del código PHP por lo que al utilizar la función while, se creaban nuevas celdas modificando la estética de la página.

Una celda <td> puede contener varios párrafos por lo que no es necsario utilizar una nueva fila <tr> o tabla <table> ya que en este caso en particular, sale peor.

En ese sentido, la solución está en poner las etiquetas HTML de fila y tabla antes de iniciar que código php con la función while y únicamente dejar dentro del código PHP el link <a> con los párrafos y saltos de línea <p> y <br>.

Muchas gracias por su ayuda,

Saludos
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 18:12.