Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Saltos de línea en código HTML con PHP

Estas en el tema de Saltos de línea en código HTML con PHP en el foro de PHP en Foros del Web. Buenas todos, mi situación es que tengo un código que genera una tabla en HTML con PHP. La tabla se genera bien, mi problema es ...
  #1 (permalink)  
Antiguo 12/03/2014, 20:36
 
Fecha de Ingreso: enero-2009
Mensajes: 78
Antigüedad: 15 años, 3 meses
Puntos: 0
Saltos de línea en código HTML con PHP

Buenas todos, mi situación es que tengo un código que genera una tabla en HTML con PHP. La tabla se genera bien, mi problema es que al ver el código fuente, los <tr> de la tabla salen seguidos en vez de que cada uno salga en una línea.

Mi código que genera la tabla es:

Código PHP:
private function getTable($sql,$tipo)
       {
            
$table null;
            
$registro null;
            
$result $this->db->query($sql);
            if (!
$result)
            {
               return 
"gettablefail";
            }
            else
            {
               
$table "<table id='tabla'>";
               
$table .= "\n";
               
$table .= "<tr><th><input type='checkbox'/></th><th>De</th><th>Asunto</th><th>Recibido</th></tr>";
               while (
$row $result->fetch_array())
               {
                  if (
$row['tipo'] == $tipo)
                  {
                     
$row2 "<tr><td><input type='checkbox'/></td><td>$row[De]</td><td>$row[Asunto]</td><td>$row[Recibido]</td></tr>"."\r\n";
                  }
                  if (
$row['nuevo'] == 'si')
                  {
                       
$row2 "<tr class='nuevo' ><td><input type='checkbox'/></td><td>$row[De]</td><td>$row[Asunto]</td><td>$row[Recibido]</td></tr>"."\r\n";
                  }
                  
$table .= $row2;
               }
               
$table .= "</table>";
            }
            return 
$table;
       } 
Como se puede ver, aplico los caracteres especiales para hacer erfectivo el salto de línea, pero no me lo reconoce en el código fuente, Como puedo lograr mi cometido? Gracias
  #2 (permalink)  
Antiguo 12/03/2014, 23:44
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 12 años, 5 meses
Puntos: 977
Respuesta: Saltos de línea en código HTML con PHP

Creo que los saltos de línea están de más. Las filas de una tabla se posicionan automáticamente una debajo de la anterior.

Saludos
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand
  #3 (permalink)  
Antiguo 13/03/2014, 00:36
 
Fecha de Ingreso: enero-2009
Mensajes: 78
Antigüedad: 15 años, 3 meses
Puntos: 0
Respuesta: Saltos de línea en código HTML con PHP

Pues no lo creo ya que ningún navegador al ver el código fuente, me muestra las filas en su respectiva línea.
  #4 (permalink)  
Antiguo 13/03/2014, 04:54
 
Fecha de Ingreso: marzo-2014
Ubicación: Paraguay
Mensajes: 12
Antigüedad: 10 años, 1 mes
Puntos: 0
Respuesta: Saltos de línea en código HTML con PHP

podes mostrar el codigo de como recibis y como mostras en pantalla?
por que asi no noto ningun error que digamos.
solo decirte igual que Alexis88 que los saltos de linea estan de mas.
  #5 (permalink)  
Antiguo 13/03/2014, 09:55
 
Fecha de Ingreso: enero-2009
Mensajes: 78
Antigüedad: 15 años, 3 meses
Puntos: 0
Respuesta: Saltos de línea en código HTML con PHP

Gracias por sus respuestas.

Solamente aclaro que la tabla si se genera bien, al ver la tabla en la pagina las filas si aparecen una bajo la otra, por ejemplo:




Pero lo que necesito es que en el código fuente los <tr> salgan en su respedctiva línea, sin embargo, obtengo algo como esto:



Cuando debería ser:

Código PHP:
<tr>datos<tr>
<
tr>datos<tr>
<
tr>datos<tr>
<
tr>datos<tr>
etc... 
  #6 (permalink)  
Antiguo 13/03/2014, 10:26
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 12 años, 5 meses
Puntos: 977
Respuesta: Saltos de línea en código HTML con PHP

Cita:
Iniciado por a_moreno Ver Mensaje
Pues no lo creo ya que ningún navegador al ver el código fuente, me muestra las filas en su respectiva línea.
Eso no tiene nada que ver, puedes tener todo el código en una sola línea, pero el intérprete del navegador, mostrará a los elementos como naturalmente se ven; en el caso de las filas de las tablas, una debajo de la otra.

Cita:
Iniciado por a_moreno Ver Mensaje
Pero lo que necesito es que en el código fuente los <tr> salgan en su respedctiva línea
Te estás preocupando por algo sin relevancia. ¿Has escuchado o leído alguna vez sobre los compresores de código?. Éstos, como dice su nombre, comprimen el código, eliminando saltos de línea y espacios, para así ganar algunos Kb. En cuestiones de SEO, es algo muy importante.

Saludos
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand
  #7 (permalink)  
Antiguo 13/03/2014, 11:04
 
Fecha de Ingreso: enero-2009
Mensajes: 78
Antigüedad: 15 años, 3 meses
Puntos: 0
Respuesta: Saltos de línea en código HTML con PHP

Cita:
Iniciado por Alexis88 Ver Mensaje
Eso no tiene nada que ver, puedes tener todo el código en una sola línea, pero el intérprete del navegador, mostrará a los elementos como naturalmente se ven; en el caso de las filas de las tablas, una debajo de la otra.
Estoy hablando de como se visualiza el código, no el resultado del código al ejecutar el navegador


Cita:
Iniciado por Alexis88 Ver Mensaje
Te estás preocupando por algo sin relevancia. ¿Has escuchado o leído alguna vez sobre los compresores de código?. Éstos, como dice su nombre, comprimen el código, eliminando saltos de línea y espacios, para así ganar algunos Kb. En cuestiones de SEO, es algo muy importante.
Bueno, puede no ser reelevante para ti, pero yo necesito generar una cierta cantidad mas o menos amplia de registros y mostrar el código fuente. Es una patada en el hígado tener que acomodarlos para que se vean de arriba hacia abajo, ya que estamos de acuerdo en que leer código sin saltos de línea es un martirio. Y si, si se acerca de los compresores de código para ahorrar unos Kb, pero te digo que ahorita esa no es mi prioridad. Lo extraño es que tengo otro código donde en vez de almacenar la tabla en una variable, la saco directamente con echo, y si funciona.

Saludos
  #8 (permalink)  
Antiguo 13/03/2014, 11:14
Colaborador
 
Fecha de Ingreso: mayo-2008
Ubicación: $MX['VZ']['Xalapa']
Mensajes: 3.005
Antigüedad: 15 años, 11 meses
Puntos: 528
Respuesta: Saltos de línea en código HTML con PHP

Respondiendo a lo que solicitas independiente de si con vistas a SEO no es recomendable, para depuración sí, y es algo muy simple, ¿quieres que tenga saltos de línea? colócalos:

en vez de
Código PHP:
Ver original
  1. $table .= "<tr><th><input type='checkbox'/></th><th>De</th><th>Asunto</th><th>Recibido</th></tr>";

así:
Código PHP:
Ver original
  1. $table .= "
  2.     <tr>
  3.          <th>
  4.              <input type='checkbox'/>
  5.          </th>
  6.          <th>
  7.                De
  8.          </th>
  9.          <th>
  10.               Asunto
  11.          </th>
  12.          <th>
  13.               Recibido
  14.          </th>
  15.    </tr>";
  #9 (permalink)  
Antiguo 13/03/2014, 11:35
 
Fecha de Ingreso: enero-2009
Mensajes: 78
Antigüedad: 15 años, 3 meses
Puntos: 0
Respuesta: Saltos de línea en código HTML con PHP

Muchas gracias ocp001a, hice lo que me indicaste colocándo los saltos de línea, sin embargo el HTML generado en vez de realizar el salto de línea correspondiente, muestra un espacio entre registros. Aunque bueno, definitivamente es más fácil leerlo ahora que antes.
  #10 (permalink)  
Antiguo 13/03/2014, 11:38
Colaborador
 
Fecha de Ingreso: mayo-2008
Ubicación: $MX['VZ']['Xalapa']
Mensajes: 3.005
Antigüedad: 15 años, 11 meses
Puntos: 528
Respuesta: Saltos de línea en código HTML con PHP

Pues no tendría por qué, a menos que el resultado de la cadena html la pases por algún proceso de 'compresión' que elimine los saltos de línea.
  #11 (permalink)  
Antiguo 13/03/2014, 12:07
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 12 años, 5 meses
Puntos: 977
Respuesta: Saltos de línea en código HTML con PHP

Cita:
Iniciado por a_moreno Ver Mensaje
Bueno, puede no ser reelevante para ti, pero yo necesito generar una cierta cantidad mas o menos amplia de registros y mostrar el código fuente.
Imagino que se trata de alguna tarea de la escuela o la universidad, en ese caso ya tiene algo de sentido, aunque lo importante es que funcione. Cuando mencionaba lo de la relevancia, me refería a la funcionalidad. El comentario sobre los compresores de código era para hacerte ver que no importa tanto el que tengas el código indentado o en una sola línea para que funcione, sin embargo, para cuestiones de desarrollo, es fundamental.

Como bien te dice ocp001a, no tendrían que mostrarse esos espacios que mencionas. ¿Estás indentando el código que generas con tabulaciones o con espacios?, quizá por ahí esté el 'error'.

Saludos
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand
  #12 (permalink)  
Antiguo 13/03/2014, 12:27
 
Fecha de Ingreso: enero-2009
Mensajes: 78
Antigüedad: 15 años, 3 meses
Puntos: 0
Respuesta: Saltos de línea en código HTML con PHP

He logrado que cada <tr> se muestre en un renglón diferente. No se que demonios pasaba con los saltos de líena, pero como dices ocp001a, algo por ahí estaba eliminándolos. Lo que hice fué, que en la construcción de la tabla donde quisiera que hubiera un salto de línea, colocar un @:

Código PHP:
private function getTable($sql,$tipo)
       {
            
$table null;
            
$registro null;
            
$result $this->db->query($sql);
            if (!
$result)
            {
               return 
"gettablefail";
            }
            else
            {
               
$table "<table id='tabla'>@";
               
$table .= "<tr><th><input type='checkbox' class='mastercheck'/></th><th>De</th><th>Asunto</th><th>Recibido</th></tr>@";
               while (
$row $result->fetch_array())
               {
                  if (
$row['tipo'] == $tipo)
                  {
                     
$row2 "<tr>
                                 <td><input type='checkbox' name=$row[idm] class='check'/></td><td>$row[De]</td><td>$row[Asunto]</td><td>$row[Recibido]</td></tr>@"
;
                  }
                  if (
$row['nuevo'] == 'si')
                  {
                       
$row2 "<tr class='nuevo' ><td><input type='checkbox' name=$row[idm] class='check'/></td><td>$row[De]</td><td>$row[Asunto]</td><td>$row[Recibido]</td></tr>@";
                  }
                  
$table .= $row2;
               }
               
$table .= "</table>@";
            }
            return 
$table;
       } 
Luego, justo antes de mostrar la tabla, ejecuto la siguiente función:

Código PHP:
$table preg_replace('/@/',"\n",$table); 
La cual sustituye cada @ por un salto de línea
  #13 (permalink)  
Antiguo 13/03/2014, 12:46
 
Fecha de Ingreso: enero-2009
Mensajes: 78
Antigüedad: 15 años, 3 meses
Puntos: 0
Respuesta: Saltos de línea en código HTML con PHP

Gracias a todos por su interés en el tema, voy a marcarlo como solucionado.

Etiquetas: html, registro, saltos, 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 09:19.