Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Formatear datos en código utilizando 'echo'

Estas en el tema de Formatear datos en código utilizando 'echo' en el foro de PHP en Foros del Web. Hola a todos, Estoy imprimiendo con " echo " desde PHP unos textos de un cuestionario de una BD en MySQL, y me acabo de ...
  #1 (permalink)  
Antiguo 08/10/2015, 08:43
Avatar de majete  
Fecha de Ingreso: noviembre-2007
Mensajes: 96
Antigüedad: 12 años, 1 mes
Puntos: 2
Formatear datos en código utilizando 'echo'

Hola a todos,
Estoy imprimiendo con "echo" desde PHP unos textos de un cuestionario de una BD en MySQL, y me acabo de dar cuenta que viendo el código resultante en la página, se me quedan todas las líneas seguidas y es muy complicado revisar código HTML así.

Como creo que no me explico bien para muestra un botón:

Viendo el código de la página si hago un formulario en HTML
Código HTML:
<div class="4u 10u$(small)">
	<input type="radio" id="5lowmed" name="5" value="2">
	<label for="5lowmed">No me gusta</label>
</div></div> 
Viendo el código de la página si hago 'echo' desde PHP:
Código HTML:
<div class="4u 10u$(small)"><input type="radio" id="5lowmed" name="5" value="2"><label for="5lowmed">No me gusta</label></div></div> 
Esto tan sólo es una opción del radio buton, de 5 posibles por cada pregunta y son 42... así que imaginaros el churro de código que me sale. ¿Hay alguna forma de que queden igual? Sé que es un poco gilipollez, pero para revisar ciertas historias me vendría muy bien que saliera formateado.

Gracias!
JC
  #2 (permalink)  
Antiguo 08/10/2015, 08:55
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 11 años, 8 meses
Puntos: 2534
Respuesta: Formatear datos en código utilizando 'echo'

¿Qué implicación tiene que el HTML tenga formato o no?

Si funciona no debería importarte.

Cita:
me acabo de dar cuenta que viendo el código resultante en la página, se me quedan todas las líneas seguidas y es muy complicado revisar código HTML
¿Pues qué navegador usas?

Para inspeccionar el HTML puedes usar el inspector web de las herramientas de desarrollo en tu navegador, y ahí te lo mostrará con formato si buscas entender lo que se genera.

En última instancia deberías mostrar el código que genera dicho HTML, ahí es donde debes cuidar el formato ¿cómo adivinar?
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 08/10/2015, 09:49
Avatar de majete  
Fecha de Ingreso: noviembre-2007
Mensajes: 96
Antigüedad: 12 años, 1 mes
Puntos: 2
Respuesta: Formatear datos en código utilizando 'echo'

Cita:
Iniciado por pateketrueke Ver Mensaje
¿Qué implicación tiene que el HTML tenga formato o no?

Si funciona no debería importarte.



¿Pues qué navegador usas?

Para inspeccionar el HTML puedes usar el inspector web de las herramientas de desarrollo en tu navegador, y ahí te lo mostrará con formato si buscas entender lo que se genera.

En última instancia deberías mostrar el código que genera dicho HTML, ahí es donde debes cuidar el formato ¿cómo adivinar?
Hola pateke,
Estoy utilizando Google Chrome día a día, aunque entiendo que en todos aparecerá igual. En mi caso con "botón derecho->Ver código fuente de la página" es como he visto que queda todo sin formatear".
El tema es que no puedo dejar sin comprobar que el while y la información que está en la base de datos es correcta, y no tengo otra forma de hacerlo más que sobre el HTML, ya que:
  • Ya he comprobado que la info en la BD esté bien
  • Ya he testeado que el bucle lo realiza bien

No puedo fiarme sólo de haber hecho una prueba de 3 preguntas sobre el HTML; una vez tenga las 42 en la BD tendré que revisar que cada pregunta se corresponde con su código id y con su nombre.

No sé si me explico bien, voy a intentar se más explícito. No es lo mismo a la hora de revisar sobre un HTML generado esto:

Código HTML:
<div class="4u 10u$(small)">
	<input type="radio" id="5lowmed" name="5" value="2">
	<label for="5lowmed">No me gusta</label>
</div></div>
<div class="4u 10u$(small)">
	<input type="radio" id="5lowmed" name="5" value="2">
	<label for="5lowmed">No me gusta</label>
</div></div>
<div class="4u 10u$(small)">
	<input type="radio" id="5lowmed" name="5" value="2">
	<label for="5lowmed">No me gusta</label>
</div></div>
<div class="4u 10u$(small)">
	<input type="radio" id="5lowmed" name="5" value="2">
	<label for="5lowmed">No me gusta</label>
</div></div>
<div class="4u 10u$(small)">
	<input type="radio" id="5lowmed" name="5" value="2">
	<label for="5lowmed">No me gusta</label>
</div></div> 
Que esto otro:

Código HTML:
<div class="4u 10u$(small)"><input type="radio" id="5lowmed" name="5" value="2"><label for="5lowmed">No me gusta</label></div></div><div class="4u 10u$(small)">
<input type="radio" id="5lowmed" name="5" value="2"><label for="5lowmed">No me gusta</label></div></div><div class="4u 10u$(small)"><input type="radio" id="5lowmed" name="5" value="2">
<label for="5lowmed">No me gusta</label></div></div><div class="4u 10u$(small)"><input type="radio" id="5lowmed" name="5" value="2"><label for="5lowmed">No me gusta</label>
</div></div><div class="4u 10u$(small)"><input type="radio" id="5lowmed" name="5" value="2"><label for="5lowmed">No me gusta</label></div></div><div class="4u 10u$(small)">
<input type="radio" id="5lowmed" name="5" value="2"><label for="5lowmed">No me gusta</label></div></div><div class="4u 10u$(small)"><input type="radio" id="5lowmed" name="5" value="2">
<label for="5lowmed">No me gusta</label></div></div><div class="4u 10u$(small)"><input type="radio" id="5lowmed" name="5" value="2"><label for="5lowmed">No me gusta</label>
</div></div><div class="4u 10u$(small)"><input type="radio" id="5lowmed" name="5" value="2"><label for="5lowmed">No me gusta</label></div></div><div class="4u 10u$(small)">
<input type="radio" id="5lowmed" name="5" value="2"><label for="5lowmed">No me gusta</label></div></div><div class="4u 10u$(small)"><input type="radio" id="5lowmed" name="5" value="2"><label for="5lowmed">No me gusta</label></div></div> 
  #4 (permalink)  
Antiguo 08/10/2015, 09:53
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 11 años, 8 meses
Puntos: 2534
Respuesta: Formatear datos en código utilizando 'echo'

Pues si no muestras el código que imprime dicho HTML jamás podremos adivinar dónde es que omites darle formato.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #5 (permalink)  
Antiguo 08/10/2015, 10:26
sgr
 
Fecha de Ingreso: abril-2003
Ubicación: Buenos Aires
Mensajes: 74
Antigüedad: 16 años, 7 meses
Puntos: 10
Respuesta: Formatear datos en código utilizando 'echo'

Nada, un error en lo que respondi

Última edición por sgr; 08/10/2015 a las 10:28 Razón: Entendi mal la pregunta
  #6 (permalink)  
Antiguo 08/10/2015, 10:54
Avatar de majete  
Fecha de Ingreso: noviembre-2007
Mensajes: 96
Antigüedad: 12 años, 1 mes
Puntos: 2
Respuesta: Formatear datos en código utilizando 'echo'

Cita:
Iniciado por pateketrueke Ver Mensaje
Pues si no muestras el código que imprime dicho HTML jamás podremos adivinar dónde es que omites darle formato.
Perdón, perdón... entiendo que puedo omitir lo anterior en cuanto a conexión con la BD y la query.

Código PHP:
<?php
/* imprimimos los resultados*/
$cuestionario = [];
while (
$fila $result->fetch_array()){
    
printf ("",);
  echo 
'<header><h4>'.$fila['idAleatorio'].'. '.$fila['textoPregunta'].'</h4>';
  echo 
'<div class="row uniform"><div class="4u 10u$(small)">';
  echo 
'<input type="radio" id="'.$fila['idAleatorio'].'high" name="'.$fila['idAleatorio'].'" value="5">';
  echo 
'<label for="'.$fila['idAleatorio'].'high">Me encanta</label></div>';
}
?>
Saludos,
Juan Carlos
  #7 (permalink)  
Antiguo 08/10/2015, 10:58
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 11 años, 8 meses
Puntos: 2534
Respuesta: Formatear datos en código utilizando 'echo'

Por eso es mala idea usar "echo" para imprimir HTML, porque si no entiendes qué es un salto de linea (\n) entonces no sabrás darle formato.

Lo mejor debe ser así:
Código PHP:
Ver original
  1. <?php while (...) { ?>
  2.  
  3. <div>
  4.   <p>Acá le das el mejor formato posible y sin problemas.</p>
  5.   <?php echo $algo; ?>
  6. </div>
  7.  
  8. <?php } ?>

¿Se entiende la idea?

Si sigues usando "echo" tendrás que hacer cosas más complejas:
Código PHP:
Ver original
  1. while (...) {
  2.   echo '<div>' . "\n";
  3.   echo '  <p>Acá es complicado escribir HTML libremente.</p>' . "\n";
  4.   echo '</div>' . "\n";
  5. }
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #8 (permalink)  
Antiguo 08/10/2015, 11:41
 
Fecha de Ingreso: noviembre-2003
Ubicación: Zaragoza, España
Mensajes: 1.257
Antigüedad: 16 años
Puntos: 154
Respuesta: Formatear datos en código utilizando 'echo'

Hola majete,

Yo lo haría así, y te evitas complicarte la vida con el formato en la salida, aunque puede que los más expertos te digan que no es bueno abrir y cerrar tantas veces php, eso yo no lo sé seguro, ahí va sobre tu post:

Código PHP:
<?php
/* imprimimos los resultados*/
$cuestionario = [];
while (
$fila $result->fetch_array()){
    
printf ("",);
?>
<header>
    <h4><?php echo $fila['idAleatorio'].'. '.$fila['textoPregunta']?></h4>
        <div class="row uniform">
            <div class="4u 10u$(small)">
                <input type="radio" id="<?php echo $fila['idAleatorio'?>high" name="<?php echo$fila['idAleatorio'?>" value="5">';
                   <label for="<?php echo $fila['idAleatorio'?>high">Me encanta</label></div>
<?php
}
?>
Espero que te sirva.
  #9 (permalink)  
Antiguo 13/10/2015, 07:00
Avatar de majete  
Fecha de Ingreso: noviembre-2007
Mensajes: 96
Antigüedad: 12 años, 1 mes
Puntos: 2
Respuesta: Formatear datos en código utilizando 'echo'

Sí, creo que es la mejor opción... formatear en HTML y meter llaves de apertura-cierre en PHP cuando tenga que mostrar un dato de una fila.
Cierto, lo que comentáis además, que es más complejo concatenar desde "echo" variables en php, con texto, con comillas simples etc etc.

Muchas gracias a todos!

Etiquetas: formatear, formulario, html, mysql
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 01:14.