Page 1 sur 1

Affichage texte

Posté : 27 déc. 2006, 17:33
par Dom!
Bonjour à tous.

Je cherche à insérer du texte dans ma base de donnée avec une mise en forme, exactement comme sur ce forum ( souligné, gras, italic...) J'utilise donc le Javascript.

Tout ce passe bien à l'insertion du texte dans ma base.

Mais quand j'affiche ce même texte les retours à la ligne n'appraisse pas. tout le texte est collé.

Le champ de ma base est de type TEXT.

Pourriez vous m'indiquer que faire ?

Posté : 27 déc. 2006, 17:36
par Ajoloca
Bonjour,

Quand tu récupères les infos de ta page les retours à la ligne sont codés avec des "\n" et le (x)HTML ne les reconnais pas.

Utilise donc la fonction de conversion nl2br().

Posté : 27 déc. 2006, 17:58
par Dom!
Dans ma base de donnée il n'y a pas de caractéres laissant pensé à un saut de ligne !

c'est écrit comme ca :

<font color=#FF0000 size=14><strong>Titre de corp de la News</strong></font>

<b>Bonjour à tous ceci est un test</b>

<i>La je mets le texte en italic</i>

Est ce suffisant pour cette fonction ?

Posté : 27 déc. 2006, 17:59
par Ajoloca
Re,

C'est trop dur d'essayer pour voir si c'est suffisant ?

Posté : 27 déc. 2006, 18:00
par Dom!
Bein en faite j'essaye mais je n'arrive pas à le faire fonctionner....

tout simplement...

Posté : 27 déc. 2006, 18:01
par Ajoloca
Montre ce que tu fais.

Posté : 27 déc. 2006, 18:03
par Dom!
Voici mais sans grande conviction :
<?php   
$sqldip = 'select tb_news.id, tb_news.cat, tb_news.titre, tb_news.texte, tb_news.suite, tb_news.date,tb_news.auteur, tb_news_cat.nid, tb_news_cat.titre_cat, tb_user.id_user, tb_user.nom, tb_user.prenom from tb_news, tb_news_cat, tb_user where tb_news.auteur_id = tb_user.id_user and tb_news.id='.$id;	  
//$sqldip = 'select * from tb_news where id = "'.$id.'"';
   // $nbsql += 1;
	if ($resselectdip = mysql_query($sqldip)) {
		 		$selectdip = mysql_fetch_array($resselectdip);
				$texte =  nl2br($selectdip["texte"]);
				if ($selectdip["auteur"] == NULL)
					$temp = '';
				else
					$temp = '<p align="right" ><br><br><strong>'.$selectdip["prenom"].' '.$selectdip["nom"].'</strong></p>';
					
				$temp_date = strtotime($selectdip["date"]);
				$temp_date = date("d-m-y",$temp_date);
				print '<p><font color=#0033FF"><strong>'.$temp_date.' : '.mysql_escape_string($selectdip["titre"]).'</strong></font><br><br>
                '.$texte.'<br><br>'.$selectdip["suite"].'</p>'.$temp;
         }
?>
Merci

Posté : 27 déc. 2006, 18:07
par Dom!
Ca fonctionne j'ai réctifié le code j'avais fais une erreur :
          <?php   
$sqldip = 'select tb_news.id, tb_news.cat, tb_news.titre, tb_news.texte, tb_news.suite, tb_news.date,tb_news.auteur, tb_news_cat.nid, tb_news_cat.titre_cat, tb_user.id_user, tb_user.nom, tb_user.prenom from tb_news, tb_news_cat, tb_user where tb_news.auteur_id = tb_user.id_user and tb_news.id='.$id;	  
//$sqldip = 'select * from tb_news where id = "'.$id.'"';
   // $nbsql += 1;
	if ($resselectdip = mysql_query($sqldip)) {
		 		$selectdip = mysql_fetch_array($resselectdip);
				$suite1 =  nl2br($selectdip["suite"]);
				if ($selectdip["auteur"] == NULL)
					$temp = '';
				else
					$temp = '<p align="right" ><br><br><strong>'.$selectdip["prenom"].' '.$selectdip["nom"].'</strong></p>';
					
				$temp_date = strtotime($selectdip["date"]);
				$temp_date = date("d-m-y",$temp_date);
				print '<p><font color=#0033FF"><strong>'.$temp_date.' : '.mysql_escape_string($selectdip["titre"]).'</strong></font><br><br>
                '.$selectdip["texte"].'<br><br>'.$suite1.'</p>'.$temp;
         }
?>
Désolé et merci pour ton aide :D