Foros del Web » Programando para Internet » PHP »

No puedo mostrar html que tengo en mi base de datos

Estas en el tema de No puedo mostrar html que tengo en mi base de datos en el foro de PHP en Foros del Web. Buenas, tengo en mi base de datos un campo tipo TEXT que guarda codigo html de esta forma <p><strong><span style=\"font-family: arial,helvetica,sans-serif; color: #ff0000; font-size: medium;\">NO ...
  #1 (permalink)  
Antiguo 03/07/2010, 01:05
 
Fecha de Ingreso: agosto-2008
Mensajes: 48
Antigüedad: 16 años, 3 meses
Puntos: 0
No puedo mostrar html que tengo en mi base de datos

Buenas, tengo en mi base de datos un campo tipo TEXT que guarda codigo html de esta forma

<p><strong><span style=\"font-family: arial,helvetica,sans-serif; color: #ff0000; font-size: medium;\">NO SALE EL HTML</span></strong></p>


Al momento de querer hacer la consulta con la base de datos no me muestra el codigo html que tiene el campo de mi base de datos en su contenido, solamente se desaparece por decirlo de alguna forma y me muestra texto Plano no compila el html para mostrarlo

este es el codigo que estoy utilizando para recuperar los datos de la base de datos


<?php
//conexion a la base de datos

require_once('conexion.php');

//Creamos una consulta para filtrar los datos y un bucle para mostrarlos todos:
$select = "SELECT * FROM CONSULTAS WHERE Aprobado = '0'";
$query = mysql_query($select) or die(mysql_error());
// $row = mysql_fetch_assoc($query);
$num= mysql_num_rows($query); //Obtener el numero de filas

$i=0; //AGREGADO
while ($i < $num) { //AGREGADO

$Nombre=mysql_result($query,$i,"Nombre"); //AGREGADO
$email=mysql_result($query,$i,"email"); //AGREGADO
$Descripcion=mysql_result($query,$i,"Descripcion") ; //AGREGADO
$id=mysql_result($query,$i,"id"); //AGREGADO
$ID=mysql_result($query,$i,"ID"); //AGREGADO AHORA

echo $Nombre."<br>"; //AGREGADO
echo $email."<br>"; //AGREGADO
echo $Descripcion."<br>"; //AGREGADO
echo $ID."<br>"; //AGREGADO


$i+=1; //AGREGADO
}


?>


No muestra el codigo html pero tampoco me muestra solo por ejemplo el codigo es decir no me muestra una imagen pero tampoco me muestra <IMG SRC=HTTP://

Sencillamente desaparece el codigo pero al revisar la base de datos desde MYSQL si esta el codigo ahi

me pueden ayudar que hago mal en la consulta de los datos?
  #2 (permalink)  
Antiguo 03/07/2010, 06:39
 
Fecha de Ingreso: enero-2010
Mensajes: 373
Antigüedad: 14 años, 10 meses
Puntos: 5
Respuesta: No puedo mostrar html que tengo en mi base de datos

As comprobado que los registros que tienen letras en mayusculas en la DB, tambien los hayas puesto en el php?
  #3 (permalink)  
Antiguo 03/07/2010, 09:25
 
Fecha de Ingreso: agosto-2008
Mensajes: 48
Antigüedad: 16 años, 3 meses
Puntos: 0
Respuesta: No puedo mostrar html que tengo en mi base de datos

Los registros coincinden en mayusculas y minusculas en el nombre del formulario, en la base de datos, y en el PHP, ademas como solo estoy trabajando con un solo campo en estos momentos, las coincides entre mayusculas y minusculas estan bien


No se que pueda ser =S
  #4 (permalink)  
Antiguo 03/07/2010, 16:05
Avatar de urgido  
Fecha de Ingreso: febrero-2005
Mensajes: 2.351
Antigüedad: 19 años, 9 meses
Puntos: 25
Respuesta: No puedo mostrar html que tengo en mi base de datos

y si usas print en lugar de echo, pasa lo mismo?
__________________
Hospedaje Web al mejor costo!
  #5 (permalink)  
Antiguo 03/07/2010, 17:41
Avatar de wiwi74  
Fecha de Ingreso: marzo-2008
Mensajes: 515
Antigüedad: 16 años, 8 meses
Puntos: 10
Respuesta: No puedo mostrar html que tengo en mi base de datos

Si lo que quieres es mostrar el html literalmente, asi podrias hacerlo:


$stringHTML = "<strong>Texto</strong>";

echo htmlspecialchars($stringHTML);
  #6 (permalink)  
Antiguo 04/07/2010, 00:46
 
Fecha de Ingreso: agosto-2008
Mensajes: 48
Antigüedad: 16 años, 3 meses
Puntos: 0
Respuesta: No puedo mostrar html que tengo en mi base de datos

Cita:
Si lo que quieres es mostrar el html literalmente, asi podrias hacerlo:


$stringHTML = "<strong>Texto</strong>";

echo htmlspecialchars($stringHTML);

Gracias he probado la funcion Htmlentities y htmlspecialchars pero lo que hacen esas funciones esque muestran el codigo HTML que esta almacenado en la base de datos como tal, puedes ver como implemente la funcion aqui mira


http://gjfhhys.webcindario.com/ver.php


El problema radica en si en que no quiero que muestre el Codigo HTML Si no que lo compile, y que afecte a la impresion de los datos es decir Si en la base de datos se guardo

<IMG SRC="HTTP://www.imagen.jpg">

No quiero que muestre el codigo a la hora de hacer la consulta, quiero que muestre la imagen, me explico?

Ojala ahora si me alla dado a entender, gracias por sus respuestas.

Cita:
y si usas print en lugar de echo, pasa lo mismo?
Si, cambie el hecho por print, y el problema persite, gracias !
  #7 (permalink)  
Antiguo 04/07/2010, 00:55
Avatar de urgido  
Fecha de Ingreso: febrero-2005
Mensajes: 2.351
Antigüedad: 19 años, 9 meses
Puntos: 25
Respuesta: No puedo mostrar html que tengo en mi base de datos

Código PHP:
Ver original
  1. <?php
  2. //conexion a la base de datos
  3.  
  4. require_once('conexion.php');
  5.  
  6. //Creamos una consulta para filtrar los datos y un bucle para mostrarlos todos:
  7. $select = "SELECT * FROM CONSULTAS WHERE Aprobado = '0'";
  8. $query = mysql_query($select) or die(mysql_error());
  9. // $row = mysql_fetch_assoc($query);
  10. $num= mysql_num_rows($query); //Obtener el numero de filas
  11.  
  12.  
  13. while($i=mysql_fetch_array($query)) { //AGREGADO
  14.  
  15. echo $i['NOMBRE DEL CAMPO']$Nombre."<br>";
  16. }
  17.  
  18.  
  19. ?>

Sustituye NOMBRE DEL CAMPO por el nombre de algun campo en tu tabla, ejemplo: nombre
__________________
Hospedaje Web al mejor costo!
  #8 (permalink)  
Antiguo 04/07/2010, 03:05
 
Fecha de Ingreso: agosto-2008
Mensajes: 48
Antigüedad: 16 años, 3 meses
Puntos: 0
Respuesta: No puedo mostrar html que tengo en mi base de datos

Gracias ! estoy probando el codigo que me pasaste pero sigue sin aparecer el formato del TinyMCE, osea estoy haciendo un texto de prueba que dice "TEXTO DE EJEMPLO ESTO ESTA EN COLOR ROJO" y obviamente le puse letra color roja, y un tipo de letra mas grande y al momento de mostrarlo, solo me aparece texto normal, Se puede mostrar el html desde una consulta MYSQL con PHP? o acaso no se puede?

http://gjfhhys.webcindario.com/ver.php


http://gjfhhys.webcindario.com/usando.html


=S

Última edición por cerd0; 04/07/2010 a las 04:35
  #9 (permalink)  
Antiguo 04/07/2010, 09:33
Avatar de urgido  
Fecha de Ingreso: febrero-2005
Mensajes: 2.351
Antigüedad: 19 años, 9 meses
Puntos: 25
Respuesta: No puedo mostrar html que tengo en mi base de datos

haber, podrias poner tu code? es raro por que se supone que el el editor no tiene nada q ver
__________________
Hospedaje Web al mejor costo!
  #10 (permalink)  
Antiguo 04/07/2010, 13:55
 
Fecha de Ingreso: agosto-2008
Mensajes: 48
Antigüedad: 16 años, 3 meses
Puntos: 0
Respuesta: No puedo mostrar html que tengo en mi base de datos

Te agradezco infinitamente tu ayuda amigo, te voy a poner todo el codigo completo por partes, El que escribe los datos, la tabla que cree en mysql, Y el que imprime los datos


Este es el codigo que Escribe los datos

Código PHP:
Ver original
  1. <?php
  2.  
  3. include('conexion.php');
  4.  
  5. //Conexion a la base de datos
  6. require_once('conexion.php');
  7.  
  8. //Insertamos los datos:
  9. $insert = "INSERT INTO CONSULTAS (Nombre, email, Descripcion, Aprobado) VALUES ('".mysql_real_escape_string($_POST['Nombre'])."', '".mysql_real_escape_string($_POST['email'])."', '".mysql_real_escape_string($_POST['Descripcion'])."', '0')";
  10. $result = mysql_query($insert) or die(mysql_error());
  11.  
  12. if(!$result)  
  13. {
  14. echo "Los datos no pudieron ser insertados";
  15. }
  16. else {
  17.  
  18.  
  19. header("Location: usando.html");
  20. }
  21. ?>


Esta es la tabla que cree en MYSQL

Código SQL:
Ver original
  1. CREATE TABLE `CONSULTAS` (
  2. `ID` INT(11) AUTO_INCREMENT NOT NULL ,
  3. `Nombre` VARCHAR( 50 ) NOT NULL ,
  4. `email` VARCHAR( 50 ) NOT NULL ,
  5. `Descripcion` VARCHAR( 5000 ) NOT NULL ,
  6. `Aprobado` VARCHAR( 50 ) NOT NULL ,
  7. PRIMARY KEY ( `ID` )
  8. ) ENGINE = MyISAM


Por ultimo Este es el codigo que estoy usando Actualmente para imprimir los datos desde MYSQL con PHP y es el que hiciste favor de pasarme


Código PHP:
Ver original
  1. <?php
  2. //conexion a la base de datos
  3.  
  4. require_once('conexion.php');
  5.  
  6. //Creamos una consulta para filtrar los datos y un bucle para mostrarlos todos:
  7. $select = "SELECT * FROM CONSULTAS WHERE Aprobado = '0'";
  8. $query = mysql_query($select) or die(mysql_error());
  9. // $row = mysql_fetch_assoc($query);
  10. $num= mysql_num_rows($query); //Obtener el numero de filas
  11.  
  12.  
  13. while($i=mysql_fetch_array($query)) { //AGREGADO
  14.  
  15. echo $i['Descripcion'],$Descripcion."<br>";
  16. }
  17.  
  18.  
  19. ?>


Justo ahora solo estoy escribiendo Los datos del CAMPO DESCRIPCION Y intentando mostrar los datos del campo descripcion nada mas.

Gracias nuevamente!
  #11 (permalink)  
Antiguo 04/07/2010, 15:18
Avatar de wiwi74  
Fecha de Ingreso: marzo-2008
Mensajes: 515
Antigüedad: 16 años, 8 meses
Puntos: 10
Respuesta: No puedo mostrar html que tengo en mi base de datos

Podrias probar guardado en la base de datos asi:

Código PHP:

$str 
"A 'quote' is <b>bold</b>";

// resultado: A 'quote' is &lt;b&gt;bold&lt;/b&gt;
echo htmlentities($str);

//agregando  ENT_QUOTES
// resultado: A 'quote' is &lt;b&gt;bold&lt;/b&gt;
echo htmlentities($strENT_QUOTES); 
En resumen (un caso): convertiria < en &lt;
con lo que al recuperarlo no tendrias problemas.


Ejemplo aplicable:

$descripcion = htmlentities($_POST['Descripcion']);

Guardarias $descripcion en db.
  #12 (permalink)  
Antiguo 04/07/2010, 16:57
 
Fecha de Ingreso: agosto-2008
Mensajes: 48
Antigüedad: 16 años, 3 meses
Puntos: 0
Gracias Estoy intentando agregar la funcion htmlentities a la hora de escribir los datos pero no me parece que lo este haciendo bien esque soy algo nuevo en php tampoco soy muy experto, me puedes decir si asi esta bien o como lo agrego?


Código PHP:
Ver original
  1. <?php
  2.  
  3. include('conexion.php');
  4.  
  5. //Conexion a la base de datos
  6. require_once('conexion.php');
  7.  
  8. //Insertamos los datos:
  9. $insert = "INSERT INTO CONSULTAS (Nombre, email, Descripcion, Aprobado) VALUES ('".mysql_real_escape_string($_POST['Nombre'])."', '".mysql_real_escape_string($_POST['email'])."', '".mysql_real_escape_string($_POST['Descripcion'])."', '0')";
  10. $result = mysql_query($insert) or die(mysql_error());
  11.  
  12.  
  13.  
  14. $descripcion = htmlentities($_POST['Descripcion']);
  15.  
  16.  
  17. if(!$result)  
  18. {
  19. echo "Los datos no pudieron ser insertados";
  20. }
  21. else {
  22.  
  23.  
  24. header("Location: usando.html");
  25. }
  26. ?>



Gracias!

Acabo de revisar el codigo fuente de mi ver.php cuando abro la direccion y el html si sale como tal lo que pasa esque unas barras diagonales se estan cruzando en le codigo por eso no se visualiza como deberia, como elimino esas barras? Miren


Código HTML:
Ver original
  1. p><a href=\"http://subir.quiebralo.com.ve/?v=bgtabbedhe.png\"><img src=\"http://subir.quiebralo.com.ve/thumbs/bgtabbedhe.png\" border=\"0\" alt=\"\" /></a></p><br><p><span style=\"font-family: arial,helvetica,sans-serif; color: #800000; font-size: large;\">FGHGFHFGHFGH</span></p><br><p><a href=\"http://www.google.com\">www.google.com</a></p><br><p><span style=\"font-family: arial,helvetica,sans-serif; font-size: large;\">jhhjkhjkjhkjhk</span></p><br><p><span style=\"font-family: arial,helvetica,sans-serif; color: #ff00ff; font-size: large;\"><strong>hgkjhgjhgjgjhg</strong></span></p><br><p><span style=\"font-family: arial,helvetica,sans-serif; color: #ff00ff; font-size: large;\">lkhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhkjhkjhkjh</span></p>
  2. <p><span style=\"font-family: arial,helvetica,sans-serif; color: #ff00ff; font-size: large;\"><img src=\"http://static.forosdelweb.com/fdwtheme/images/buttons/reputation.gif\" alt=\"\" width=\"16\" height=\"16\" /></span></p>
  3. <p><img title=\"Cool\" src=\"/plugins/emotions/img/smiley-cool.gif\" border=\"0\" alt=\"Cool\" /></p><br><p>[IMG]<a href=\"http://static.forosdelweb.com/fdwtheme/images/buttons/reputation.gif\">http://static.forosdelweb.com/fdwtheme/images/buttons/reputation.gif</a>[/IMG]</p><br><p><strong>FDDDDDDDDDDDDDDDDDDDD</strong></p><br><p><img src=\"http://static.forosdelweb.com/fdwtheme/images/buttons/reputation.gif\" alt=\"\" /></p><br><p style=\"text-align: center;\"><span style=\"font-family: arial,helvetica,sans-serif; color: #ff0000; font-size: large;\">TEXTO DE EJEMPLO ESTO ESTA EN COLOR ROJO</span></p><br><p>fgncvncvnvcncv</p><br><p>&amp;lt;img src=\"<a href=\"http://http//static.forosdelweb.com/fdwtheme/images/buttons/report.gif&quot;&amp;gt\">http://http://static.forosdelweb.com/fdwtheme/images/buttons/report.gif\"&amp;gt</a>;</p><br>



Aqui el ejemplo de como sale el codigo de una imagen

<img title=\"Cool\" src=\"/plugins/emotions/img/smiley-cool.gif\"

esas barras diagonales / y \ son las que estas ocasionando que no se muestre correctamente el codigo html alguna idea de porque salen y como eliminarlas?


Esto es porque el servidor que estoy utilizando es miarroba y tienen activado el Magic, magic_quotes_gpc

=S

Gracias !

Última edición por GatorV; 04/07/2010 a las 22:53

Etiquetas: html
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 13:03.