Foros del Web » Programando para Internet » PHP »

Problema al mostrar datos de Mysql en PHP

Estas en el tema de Problema al mostrar datos de Mysql en PHP en el foro de PHP en Foros del Web. Hola tengo un editor tipo Wysiwyg (TinyMCE), y se graba los datos en mysql. Bien pues cuando quiero mostrarlo en php, haciendo un "echo" muestra ...
  #1 (permalink)  
Antiguo 02/12/2010, 00:12
 
Fecha de Ingreso: diciembre-2010
Mensajes: 3
Antigüedad: 13 años, 4 meses
Puntos: 0
Problema al mostrar datos de Mysql en PHP

Hola tengo un editor tipo Wysiwyg (TinyMCE), y se graba los datos en mysql.
Bien pues cuando quiero mostrarlo en php, haciendo un "echo" muestra los datos con las etiquetas <p> <strong> etc. Cuando en realidad tendria que mostrarlo las negritas o los parrafos como corresponde.
Gracias de antemano por su ayuda.
  #2 (permalink)  
Antiguo 02/12/2010, 05:26
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 11 meses
Puntos: 1517
Respuesta: Problema al mostrar datos de Mysql en PHP

Tienes que verificar si hay algún proceso que lo esté convirtiendo en su entidad. Verifica primero si en la base de datos está guardado como &lt;p&gt; si es así, tendrás que agregar una función para mostrarlos como son, ejemplo usando html_entity_decode. Si no se están grabando con sus entidades, entonces verifica si hay algún proceso que esté llamando una función como por ejemplo htmlentities o htmlspecialchars.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #3 (permalink)  
Antiguo 02/12/2010, 16:36
 
Fecha de Ingreso: diciembre-2010
Mensajes: 3
Antigüedad: 13 años, 4 meses
Puntos: 0
Respuesta: Problema al mostrar datos de Mysql en PHP

Cita:
Iniciado por abimaelrc Ver Mensaje
Tienes que verificar si hay algún proceso que lo esté convirtiendo en su entidad. Verifica primero si en la base de datos está guardado como &lt;p&gt; si es así, tendrás que agregar una función para mostrarlos como son, ejemplo usando html_entity_decode. Si no se están grabando con sus entidades, entonces verifica si hay algún proceso que esté llamando una función como por ejemplo htmlentities o htmlspecialchars.
Gracias por tu ayuda pero asumo que mis conocimientos son muy limitados.
Tendria algun ejemplo (script) para insertar datos en la base y mostrar datos sin las etiquetas como te comente antes. Porque en realidad no se como usar el html_entity_decode

[URL="http://www.hogaramericano.com/samplenews/bd.gif"]Asi se ve la tabla[/URL]

Aqui esta el enlace de como se ve en la web:
[URL="http://www.hogaramericano.com/samplenews/index.php"]http://www.hogaramericano.com/samplenews/index.php[/URL]

Este es el codigo insertar.php

Código:
<?php
  function renderForm($first, $last, $error)
 {
 ?>

 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
 <html>
 <head>
 <title>New Record</title>
 </head>

<script language="javascript" type="text/javascript" src="js/tiny_mce/tiny_mce.js"></script>
<script type="text/javascript">
	tinyMCE.init({
		// General options
		mode : "textareas",
		theme : "advanced",
		plugins : "pagebreak,style,layer,table,save,advhr,advimage,advlink,emotions,iespell,insertdatetime,preview,media,searchreplace,print,contextmenu,paste,directionality,fullscreen,noneditable,visualchars,nonbreaking,xhtmlxtras,template,inlinepopups,autosave",

		// Theme options
		theme_advanced_buttons1 : "save,newdocument,|,bold,italic,underline,strikethrough,|,justifyleft,justifycenter,justifyright,justifyfull,|,styleselect,formatselect,fontselect,fontsizeselect",
		theme_advanced_buttons2 : "cut,copy,paste,pastetext,pasteword,|,search,replace,|,bullist,numlist,|,outdent,indent,blockquote,|,undo,redo,|,link,unlink,anchor,image,cleanup,help,code,|,insertdate,inserttime,preview,|,forecolor,backcolor",
		theme_advanced_buttons3 : "tablecontrols,|,hr,removeformat,visualaid,|,sub,sup,|,charmap,emotions,iespell,media,advhr,|,print,|,ltr,rtl,|,fullscreen",
		theme_advanced_buttons4 : "insertlayer,moveforward,movebackward,absolute,|,styleprops,|,cite,abbr,acronym,del,ins,attribs,|,visualchars,nonbreaking,template,pagebreak,restoredraft",
		theme_advanced_toolbar_location : "top",
		theme_advanced_toolbar_align : "left",
		theme_advanced_statusbar_location : "bottom",
		theme_advanced_resizing : true,

		// Example word content CSS (should be your site CSS) this one removes paragraph margins
		content_css : "js/tiny_mce/css/word.css",

		// Drop lists for link/image/media/template dialogs
		template_external_list_url : "js/tiny_mce/lists/template_list.js",
		external_link_list_url : "js/tiny_mce/lists/link_list.js",
		external_image_list_url : "js/tiny_mce/lists/image_list.js",
		media_external_list_url : "js/tiny_mce/lists/media_list.js",

		// Replace values for the template plugin
		template_replace_values : {
			username : "Some User",
			staffid : "991234"
		}
	});
</script>
<!-- /TinyMCE -->

 <body>
 <?php 
 // if there are any errors, display them
 if ($error != '')
 {
 echo '<div style="padding:4px; border:1px solid red; color:red;">'.$error.'</div>';
 }
 ?> 
 
 <form action="" method="post">

<div>
 <strong>Title News:</strong> 
 <input type="text" name="newstitle" value="<?php echo $newstitle; ?>" /><br/>
<br/>

<strong>Summary News</strong><br/>
 <textarea name="newssummary" style='resize:none; width:450px; height:100px; border:#b7d9de 1px solid; color:#666; margin-top:5px;' value="" /><?php echo $newssummary; ?></textarea><br/>
<br/>

<strong>Body News</strong><br/>
 <textarea name="newsbody" style='resize:none; width:450px; height:300px; border:#b7d9de 1px solid; color:#666; margin-top:5px;' value="" /><?php echo $newsbody; ?></textarea><br/>
<br/>

<input type="submit" name="submit" value="Submit">
</div>
 </form> 

 </body>
 </html>
 <?php 
 }
 
 include('connect-news.php');
 
 if (isset($_POST['submit']))
 { 

 $newstitle = mysql_real_escape_string(htmlspecialchars($_POST['newstitle']));
 $newssummary = mysql_real_escape_string(htmlspecialchars($_POST['newssummary']));
 $newsbody = mysql_real_escape_string(htmlspecialchars($_POST['newsbody']));

 if ($newstitle == '' || $newssummary == '')
 {

 $error = 'ERROR: Please fill in all required fields!';
 
 renderForm($newstitle, $newsbrief, $error);
 }
 else
 {

 mysql_query("INSERT news SET newstitle='$newstitle', newssummary='$newssummary', newsbody='$newsbody'")
 or die(mysql_error()); 
 

 header("Location: index.php"); 
 }
 }
 else

 {
 renderForm('','','');
 }
?>

Aqui te dejo como lo muestro:

Código:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>News</title>
</head>
<body>
<div>ETIQUETA PRINCIPAL</div>
	<div>
		<?php

		echo "<table>"; 
        include('connect-news.php');

        $result = mysql_query("SELECT * FROM news") 
                or die(mysql_error());  

        while($row = mysql_fetch_array( $result )) {
       		   
		echo $row['newstitle'];
		echo "<br/>";  
		echo "<br/>";                 
		echo $row['newssummary'];
        
        } 
		?>
	</div>
</body>
</html>

Etiquetas: 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 04:17.