Tronquage d'une texte appelé en base

Conceptik
Invité n'ayant pas de compte PHPfrance

22 févr. 2009, 12:42

Tout d'abord bien le bonjour à tous,

j'ai un petit problème et n'arrive pas à mettre la main sur la solution qui pourtant j'en suis sur, est très simple.

Voilà j'ai une base de donnée avec une table Article à partir de laquelle je souhaiterai appeler une partie du texte du champ Contenu.

Je vais d'abord mettre ce que j'ai en code :

Code : Tout sélectionner

<?php mysql_connect("localhost", "root", "mot_de_passe"); mysql_select_db("mabase"); $contenu = mysql_query("SELECT * FROM articles"); $chaine = "Bon faudrait que je tronque la partie de mon article là dédiou!"; $lg_max = 20; if (strlen($chaine) > $lg_max) { $chaine = substr($chaine, 0, $lg_max); $last_space = strrpos($chaine, " "); $chaine = substr($chaine, 0, $last_space)."..."; } while ($donnees = mysql_fetch_array($contenu) ) { ?> <p><?php echo $donnees['Content']; ?></p> <p><?php echo $chaine ?></p> <?php } mysql_close(); ?>
Donc la pour le moment cela m'affiche la totalité du contenu de mes articles et en dessous la phrase "Bon faudrait que je..."

J'ai donc trouvé le moyen d'afficher mes articles, et à coté de tronquer une phrase défini par $chaine, jusque là tout va bien, mais je n'arrive vraiment pas à fusionner les deux.
Par logique il faudrait définir que ma variable $chaine soit égale au contenu de mon champ articles, j'ai donc testé

Code : Tout sélectionner

$chaine = mysql_query("SELECT * FROM articles");
Mais cela ne marche pas, je sollicite donc votre aide car je pense avoir trouvé la bonne "logique" mais pas la bonne démarche afin d'y arriver.

Merci beaucoup de votre attention et de vos réponses si cela vous semble réalisable.

conceptik
Invité n'ayant pas de compte PHPfrance

22 févr. 2009, 13:00

Bon j'ai trouvé en fait, pour ceux que ca intéresserai voici ce que j'ai pour le moment :

Code : Tout sélectionner

<?php mysql_connect("localhost", "root", ""); mysql_select_db("mabase"); $contenu = mysql_query("SELECT * FROM news"); while ($donnees = mysql_fetch_array($contenu) ) { ?> <p><?php echo $donnees['Content']; ?></p> <p><?php echo substr(''.$donnees['Content'].'', 0, 50); ?></p> <?php } mysql_close(); ?>
Par contre il me reste a trouvé comment rajouté les "..." à la fin afin de permettre au visiteur de comprendre qu'il y a une suite de l'article.

ViPHP
AB
ViPHP | 5818 Messages

22 févr. 2009, 13:08

Tu veux juste ajouter trois points au contenu d'une variable ?
Si c'est le cas : $texte = 'mon texte'; $texte = $texte.'...';

Invité
Invité n'ayant pas de compte PHPfrance

22 févr. 2009, 13:40

Oui, dans le même genre j'ai fait ceci :

Code : Tout sélectionner

<li>'.nl2br(substr($donnees_messages['Content'].'', 0, 280)).'... <a href="index.php?page=">[Lire la suite]</a></li>
Ce qui donne :

Mon texte tronqué jusqu'à 280 caractères ... [Lire la suite]