Foros del Web » Programando para Internet » PHP »

<br /> "por que sí" en PHP

Estas en el tema de <br /> "por que sí" en PHP en el foro de PHP en Foros del Web. Pues tengo un problema muy raro: Tengo una página en php, que en un momento dado me carga una sección o otra con un include. ...
  #1 (permalink)  
Antiguo 24/01/2012, 15:49
 
Fecha de Ingreso: abril-2011
Mensajes: 41
Antigüedad: 13 años
Puntos: 2
<br /> "por que sí" en PHP

Pues tengo un problema muy raro:

Tengo una página en php, que en un momento dado me carga una sección o otra con un include. el código viene siendo este:

Código PHP:
<table width="800" bgcolor="#FFFFFF" cellpadding="0" cellspacing="0">
  <tr>
    <td>
    <?PHP include("files/" $_REQUEST[page] . ".php"); ?>
    </td>
  </tr>
</table>
Con todas las secciones me va perfecto, pero en una concreta, cuyo contenido es una tabla con respuestas de sql me mete <br />'s. En el código no están, pero al ver el código fuente de la página procesada si aparecen, dos concretamente, antes que todo el contenido.

El archivo incluido es este:

Código PHP:
$conexion mysql_connect("localhost""database""password");
mysql_select_db ("database");
$consulta mysql_query ("SELECT * FROM entradas ORDER BY fecha DESC LIMIT 0 , 8 "$conexion);
$nfilas mysql_num_rows ($consulta);
    echo (
'<table cellspacing="5" cellpadding="5">');
    if (
$nfilas 0)
    {
        for (
$i=0$i<$nfilas$i++)
        {
        echo (
"<tr><td>");
        
$contenido mysql_fetch_array ($consulta);
        echo (
"<h2>" $contenido["titulo"] . "</h2>");
        echo (
"<br />");
        echo (
$contenido["fecha"]);
        echo (
"<br /><br />");
        echo (
$contenido["texto"]);
        echo (
"</tr></td>");
        echo (
"<br />");
        echo (
"<br />");
        }
    } 
Pero los br me aparecen antes de empezar la tabla.

Alguien sabe que pasa???

Gracias!
  #2 (permalink)  
Antiguo 24/01/2012, 15:52
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: <br /> "por que sí" en PHP

No es nada mágico ni misterioso, el problema es tu markup HTML, estas imprimiendo 2 <br /> justo después de cerrar la fila:

echo ("</tr></td>");
echo ("<br />");
echo ("<br />");

Saludos.
  #3 (permalink)  
Antiguo 24/01/2012, 15:52
Avatar de malakian  
Fecha de Ingreso: septiembre-2010
Ubicación: $malakian->Colombia();
Mensajes: 469
Antigüedad: 13 años, 7 meses
Puntos: 45
Respuesta: <br /> "por que sí" en PHP

Bueno, la tabla esta mal estructurada

Código PHP:
Ver original
  1. echo ('<table cellspacing="5" cellpadding="5">');
  2.     if ($nfilas > 0)
  3.     {
  4.         for ($i=0; $i<$nfilas; $i++)
  5.         {
  6.         echo ("<tr><td>");
  7.         $contenido = mysql_fetch_array ($consulta);
  8.         echo ("<h2>" . $contenido["titulo"] . "</h2>");
  9.         echo ("<br />");
  10.         echo ($contenido["fecha"]);
  11.         echo ("<br /><br />");
  12.         echo ($contenido["texto"]);
  13.         echo ("</td></tr>");
  14.         }
  15.     }
__________________
Guitar Loco, Desarrollador Web PHP
Sigueme: @jose1x
  #4 (permalink)  
Antiguo 24/01/2012, 15:53
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: <br /> "por que sí" en PHP

Pues yo veo que claramente imprimes dos <br> después de cerrar el </td>
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #5 (permalink)  
Antiguo 24/01/2012, 15:58
 
Fecha de Ingreso: abril-2011
Mensajes: 41
Antigüedad: 13 años
Puntos: 2
Respuesta: <br /> "por que sí" en PHP

Gracias a todos. Esos dos br estan ahí a propósito. Y los br a los que me refiero están ANTES de empezar la tabla, antes de abrir el <TABLE ...>
  #6 (permalink)  
Antiguo 24/01/2012, 16:00
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: <br /> "por que sí" en PHP

Bueno, supongo que ya quitaste los <br> que estaban de sobra y probaste de nuevo ¿verdad?

Sería interesante si puedes mostrarnos una URL para ver por nosotroa mismos que generas.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #7 (permalink)  
Antiguo 24/01/2012, 16:04
 
Fecha de Ingreso: abril-2011
Mensajes: 41
Antigüedad: 13 años
Puntos: 2
Respuesta: <br /> "por que sí" en PHP

Fallo mio. Los había quitado y no había subido los archivos :S... Vale, se ha solucionado. Pero alguien puede decirme por que me salían antes de abrir la tabla? No solo eran visibles, sino que en el código también salían :o
  #8 (permalink)  
Antiguo 24/01/2012, 16:12
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: <br /> "por que sí" en PHP

Cita:
Iniciado por daxxdj Ver Mensaje
Fallo mio. Los había quitado y no había subido los archivos :S... Vale, se ha solucionado. Pero alguien puede decirme por que me salían antes de abrir la tabla? No solo eran visibles, sino que en el código también salían :o
Es muy sencillo, las tablas no admiten etiquetas fuera de las necesarias.

Dentro de las celdas <td>...</td> puedes colocar cualquier tipo de etiqueta, no entre, no antes, no después.

Supongo que cada browser interpretará el lugar correcto de las etiquetas fuera de lugar, así que en tu caso las colocaba antes de la tabla.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #9 (permalink)  
Antiguo 24/01/2012, 16:36
 
Fecha de Ingreso: abril-2011
Mensajes: 41
Antigüedad: 13 años
Puntos: 2
Respuesta: <br /> "por que sí" en PHP

Pfff... muchas gracias!

Etiquetas: mysql, sql, tabla
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:48.