Bonsoir à tous.
<?
$news=mysql_query("
(SELECT Timestamp, Titre, Text FROM ".$extensionSQL."article)
UNION
(SELECT Timestamp, Titre, Text FROM ".$extensionSQL."communiques)
UNION
(SELECT Timestamp, Titre, Text FROM ".$extensionSQL."actions)
UNION
(SELECT Timestamp, Titre, Text FROM ".$extensionSQL."agenda)
UNION
(SELECT Timestamp, Titre, Text FROM ".$extensionSQL."passages)
UNION
(SELECT Timestamp, Titre, Text FROM ".$extensionSQL."tracts)
ORDER BY Timestamp LIMIT 5
");
while($news2=mysql_fetch_array($news))
{
echo substr(stripslashes($news2['Text']),0,30)."<br />";
}
?>
Voici un module de mon site qui me pose problème.
Je vous explique brièvemet; j'ai diverses sections (agenda, articles,...) et je fais un menu à gauche qui reprend tous les évènements postés dans ces sections et les classe par ordre décroissant de Timestamp (date à laquelle l'évènement est créé).
J'ai donc unifié toutes ces tables par ordre de Timestamp et j'affiche les titres et les textes des 5 premiers (d'où la limite).
Pour les textes, je souhaite afficher juste les 30 premiers caractères; j'ai donc utilisé un substr mais voila le premier problème qui se pose; mes codes sont coupés. Quand j'ai un <a href=""> et qu'il est coupé alors je me retrouve avec un bête <a h ou encore dans certains cas je me retrouve avec un &eacu ce qui est plutôt ridicule et je ne sais pas comment éviter ça.
C'est mon premier problème, apparemment substr n'est pas la fonction la plus appropriée pour ça.
Ensuite j'aimerai ne sélectionner que le texte car je me vois mal afficher une image ou une vidéo dans cette petite barre mais je ne connais pas de fonction php et je n'en trouve pas qui ne permet que de sélectionner le texte.
Merci de bien vouloir m'aider ;)