Récuperation de donnée dans la base, triage

TuxOnline Messages postés 24 Date d'inscription samedi 11 février 2006 Statut Membre Dernière intervention 21 janvier 2007 - 21 févr. 2006 à 19:38
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 - 22 févr. 2006 à 09:36
Bonjour à tous. Voila j'ai une ptite question a vous poser.
J'ai fait un systeme de news via un panneau d'admin qui me permet donc d'ajouter, de supprimer des news et autres...
Donc quand j'écrit une news du genre :
Bonjour, nouvelle version blablabla.
ici vous pouvez blablaboa

Et encore icic blablabla.

Donc tout est bien enregistrer dans la base avec les espaces les tabulations saut de ligne etc...
Maintenant quand on arrive sur la page d'accueil. je recupere bien normalement mes données de la news sauf que c'est tout d'un bloc aucune tabulation saut de ligne etc....
N'y a t-il pas un moyen pour que cela respecte ce qui a était enregistré dans la base ?
voici mon bout de code qui recupere les données de la base news:
<?php
require("Administration/connexion.php");
$sql = "SELECT Date,Nouvelle FROM News ORDER BY Date DESC";
$req = mysql_query($sql);
$nbre = mysql_num_rows($req);
while($tuple=mysql_fetch_array($req))
{
echo'',$tuple['Date'],'

',$tuple['Nouvelle'],'

<hr>';
}
?>
Toutes les requetes fonctionnent sauf que j'ai tout d'un bloque

8 réponses

J_G Messages postés 1406 Date d'inscription mercredi 17 août 2005 Statut Membre Dernière intervention 28 août 2007 10
21 févr. 2006 à 19:46
Salut...

Tes problèmes sont :
* Les sauts de ligne ne sont pas interprété par HTML
* Les tabulation sont comme un espace en HTML
* Plusieurs caractères blancs de suite sont comme un espace en HTML
* ...

Bref, il faut retoucher le bloc affiché. (ben oui)

Il faut :
remplacer les '\n' par des '
\n'
remplacer les '\t' par 4 espaces insécables '&nbsp;'
remplacer les espaces par des espaces insécables

Bref :
<?php$search array(); $replace array();
$search[] = "\n"; $replace[] = "
\n";
$search[] = "\t"; $replace[] = '&nbsp;&nbsp;&nbsp;&nbsp;';
$search[] = ' '; $replace[] = '&nbsp;';

$tuple['Nouvelle'] = str_replace( $search, $replace, $tuple['Nouvelle']);

echo '...$tuple['Nouvelle']...';
?>

A+
0
thomvaill Messages postés 366 Date d'inscription mercredi 7 avril 2004 Statut Membre Dernière intervention 20 février 2007 2
21 févr. 2006 à 20:03
Ou tout simplement :

nl2br($tuple['Nouvelle']);



Enjoy ;)


Thomvaill
IRC : Thomas (irc.heliosnet.org:6667 #programmation)
0
sidf Messages postés 1216 Date d'inscription mardi 20 décembre 2005 Statut Membre Dernière intervention 18 octobre 2012 5
21 févr. 2006 à 20:07
salut

> J_G

justement je fais la même chose

je n'ai pas ce problème et sans rien faire

de spécial (me semble-t-il)

est ce bien normal ??
0
TuxOnline Messages postés 24 Date d'inscription samedi 11 février 2006 Statut Membre Dernière intervention 21 janvier 2007
21 févr. 2006 à 20:11
salut merci pour vos reponse.
thomvaill nl2br() est une fonction ??????
C'est quoi sa description pour que je mette un commentaire car sa arrache tout de tout ta fonction lol.
j'ai essayer aussi avec la methode de J_G sa fonctionne aussi mais avec plus de ligne lol
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
thomvaill Messages postés 366 Date d'inscription mercredi 7 avril 2004 Statut Membre Dernière intervention 20 février 2007 2
21 févr. 2006 à 20:17
http://fr3.php.net/manual/fr/function.nl2br.php

Thomvaill
IRC : Thomas (irc.heliosnet.org:6667 #programmation)
0
J_G Messages postés 1406 Date d'inscription mercredi 17 août 2005 Statut Membre Dernière intervention 28 août 2007 10
21 févr. 2006 à 20:29
Hep !!!

Dernière méthode qui est pas mal du tout :

Insérer dans des balises

...

Ben oui, les ne prennent pas en compte le formatage HTML. Donc c'est cool !!!

<style type="text/css">
<!--
/* Le style pour que ce soit joli... */
pre.News {
font-family : arial, sans-serif;
margin : 10px;
padding : 10px;
border : 2px dotted blue;
background-color: aliceblue;
color: darkblue;
}
-->
</style>

<?php echo $tuple['Nouvelle'];?>

Et voilà, c'est encore plus simple !!!!!!
0
TuxOnline Messages postés 24 Date d'inscription samedi 11 février 2006 Statut Membre Dernière intervention 21 janvier 2007
21 févr. 2006 à 20:40
hummm tu ma donnée des idées lol!!!!
merci pour cette idée de balise pre pre
Jvais bidouiler le truc pour modifier les différentes parties
merchii
0
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
22 févr. 2006 à 09:36
Hello,

je suis pour la solution de J_G ;-)
Car nl2br () ne prend en compte que les retours chariots.
0
Rejoignez-nous