Pagination et saut de ligne

abeille484
Invité n'ayant pas de compte PHPfrance

19 déc. 2012, 23:48

Bonjour,

J'ai créé une base de données avec une table Manifestation dans laquelle se trouve un long descriptif.

J'ai beau sauter des lignes dans mon texte dans ma base de données, il s'affiche sans saut de ligne.

J'ai découvert sur internet le nl2br mais je ne sais pas comment l'utiliser, je ne comprends pas.
Est-ce une solution à mon problème ? Et si oui, comment l'utiliser ?

Je vous remercie pour votre aide.

A bientôt

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

20 déc. 2012, 09:20

Salut.

C'est la fonction a utiliser de la façon la plus simple echo nl2br($leresult['le champ']);



@+
Il en faut peu pour être heureux ......

Eléphant du PHP | 61 Messages

20 déc. 2012, 11:39

Bonjour,
Tu mélanges deux choses,
1) le retour a la ligne lors d'une saisie dans un <TEXTAREA qui est "\r\n"
2) le retour a la ligne d'un HTML qui est
<br / >
Alors saches ce que tu manipule
si tu as un texte venant d'un <TEXTAREA , et que tu l'a rentré en l'état dans MySql si tu le réaffiche a la relecture dans un <TEXTAREA
tes sauts de lignes seront bons.
si tu l'affiches dans le HTML utilises
$x = str_replace("\r","",$x);
$x = str_replace("\n","<br />",$x);
Un sourire pour conclure ;-)

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

20 déc. 2012, 12:08

@christele :
1/ les retours chariots ne sont pas les mêmes suivant les os (celui que tu indique c'est windows seulement).
Tu as tu bol ta solution va quand même fonctionner quelque soir l'os.
Si tu avais un peux plus lu le message d'origine et mon commentaire tu aurais vu la fonction, native, de php nl2br qui fait le travail ;)


@+
Il en faut peu pour être heureux ......

abeille484
Invité n'ayant pas de compte PHPfrance

20 déc. 2012, 12:38

ok merci mais par rapport aux indications données, j'ai placé le nl2br dans cette ligne de php avant et après le utf8 mais cela ne fonctionne pas.

echo '<p>'.utf8_encode($data['descriptiflong'].'<br /><br />Tarifs :' .' '.$data ['tarifmanif'].' '.'euros').'</p>';

Ce qui m'intéresse, c'est d'avoir mon descriptif de manifestation avec des sauts de ligne, cela concerne donc [descriptiflong]

Encore merci !

Eléphant du PHP | 61 Messages

20 déc. 2012, 12:45

@christele :
Tu as du bol ta solution va quand même fonctionner quelque soi l'os.
Si tu avais un peux plus lu le message d'origine et mon commentaire tu aurais vu la fonction, native, de PHP nl2br qui fait le travail ;)
@+
Je n'ai pas du bol, mais de l'expérience désolée ... :wink:
D'autre par d'expérience également nl2br est mal conçu et le plus souvent mets trop de BR
Voila mon ami
Christele
Un sourire pour conclure ;-)

Eléphant du PHP | 267 Messages

20 déc. 2012, 13:06

@christele :
Tu as du bol ta solution va quand même fonctionner quelque soi l'os.
Si tu avais un peux plus lu le message d'origine et mon commentaire tu aurais vu la fonction, native, de PHP nl2br qui fait le travail ;)
@+
Je n'ai pas du bol, mais de l'expérience désolée ... :wink:
D'autre par d'expérience également nl2br est mal conçu et le plus souvent mets trop de BR
Voila mon ami
Christele
Christele, à priori, ton code ne fonctionnera pas sous mac
il faut utiliser, comme l'a écrit moogli, la fonction nl2br()

abeille484
Invité n'ayant pas de compte PHPfrance

20 déc. 2012, 13:13

ok merci mais par rapport aux indications données, j'ai placé le nl2br dans cette ligne de php avant et après le utf8 mais cela ne fonctionne pas.

echo '<p>'.utf8_encode($data['descriptiflong'].'Tarifs :' .' '.$data ['tarifmanif'].' '.'euros').'</p>';

Ce qui m'intéresse, c'est d'avoir mon descriptif de manifestation avec des sauts de ligne, cela concerne donc [descriptiflong]

Encore merci !

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

20 déc. 2012, 13:17

où est nl2br dans ton code ?

donc a priori :
<?php
echo '<p>'.utf8_encode(nbl2br($data['descriptiflong'])).'<br />Tarifs :' .' '.utf8_encode($data ['tarifmanif']).' &euro;').'</p>';
?>

@+
Il en faut peu pour être heureux ......

abeille484
Invité n'ayant pas de compte PHPfrance

20 déc. 2012, 13:24

Merci mais ça ne marche pas.

J'avais essayé avant et après utf8 sans parenthèses mais ça ne marche pas non plus...

Eléphant du PHP | 267 Messages

20 déc. 2012, 13:38

y a une faute de frappe
<?php
echo '<p>'.utf8_encode(nl2br($data['descriptiflong'])).'<br />Tarifs :' .' '.utf8_encode($data ['tarifmanif']).' &euro;').'</p>';
?>

Eléphant du PHP | 267 Messages

20 déc. 2012, 13:41

sinon y a une autre solution qui consiste à mettre les <br /> directement dans la base de données
par exemple, tu veux à l'affichage:
auto
moto

dans la base de données, tu enregistres : auto<br />moto

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

20 déc. 2012, 22:40

heu non a éviter sinon c'est le bordel si tu veux faire autre chose que html !



@+
Il en faut peu pour être heureux ......

abeille484
Invité n'ayant pas de compte PHPfrance

22 déc. 2012, 19:09

echo '<p>'.utf8_encode(nl2br($data['descriptiflong'])).'<br />Tarifs :' .' '.utf8_encode($data ['tarifmanif']).' &euro;').'</p>';

Cet echo avec nl2br ne fonctionne pas .....
???????????????????

Voici l'erreur retourné :
Parse error: syntax error, unexpected ')', expecting ',' or ';' in C:\wamp\www\ProjetCDT\single.php on line 53

Je ne vois pas où il y a une erreur de syntaxe

Quelqu'un peut-il m'aider encore ?

Eléphant du PHP | 61 Messages

23 déc. 2012, 00:33

Christele, à priori, ton code ne fonctionnera pas sous mac
il faut utiliser, comme l'a écrit moogli, la fonction nl2br()
Vraiment on entend de tout ici, sous MAC ne veut rien dire, j'en ais un et son Internet-Explorer
marche à ravir.
Faire croire ça, c'est oublier l'essentiel, les textes viennent de MySql et sont inscrit par un PHP sur le serveur Web,
tu devrais réfléchir avant de dire des âneries.
A++ Et tout de même Joyeux Noël.
Christele
Un sourire pour conclure ;-)