J'ai un tableau dynamique avec alternance de couleurs. Je voudrais que ce tableau n'affiche pas plus d'une cinquantaine de caractères dans chaque cellule.
Mon script actuel ressemble à ça:
<?php
$couleur1 = '#ffcc00';
$couleur2 = '#ffffe0';
?>
<!--Tableau-->
<table class="tableau">
<table rules="cols" border=1 max-width=1000 cellspacing=0 cellpadding=5>
<!--Titres du tableau-->
<tr bgcolor="<?php echo $couleur1; ?>">
<td><b>Id</b></td>
<td><b>Nom du groupe </b></td>
<td><b>Autre nom</b></td>
<td><b>Présentation </b></td>
<td><b>Informations complémentaires</b></td>
<td><b>MAJ</b></td>
</tr>
<?php
//Compteur et modulo//
$cptCouleur = 1;
while ($val=mysql_fetch_array($result))
{
$couleur = ($cptCouleur % 2 == 0)?$couleur1:$couleur2;
?>
<!--Affichage des lignes-->
<tr bgcolor="<?php echo $couleur; ?>">
<td> <?php print ($val["IdGroupe"]);?> </td>
<td> <a href="b_groupes_list2.php?IdGroupe=<?php print ($val["IdGroupe"]);?>"><?php print ($val["NomGroupe"]);?></a></td>
<td> <?php print ($val["AutreNomGroupe"]);?> </td>
<td> <?php print ($val["Presentation"]);?> </td>
<td> <?php print ($val["InfCompl"]);?> </td>
<td> <?php print ($val["MAJ"]);?> </td>
</tr>
<?php
$cptCouleur++;
}
mysql_close($lien);
?>
</table>
Le code que je veux intégrer doit ressembler à ça:
<?php
$max_caracteres=50;
$texte= ???; // C'est ici qu'est mon problème !!
// Test si la longueur du texte dépasse la limite
if (strlen($texte)>$max_caracteres)
{
// Sélection du maximum de caractères
$texte = substr($texte, 0, $max_caracteres);
// Récupération de la position du dernier espace (afin déviter de tronquer un mot)
$position_espace = strrpos($texte, " ");
$texte = substr($texte, 0, $position_espace);
// Ajout des "..."
$texte = $texte."...";
}
?>
En fait, je voudrais que $texte corresponde à $val pour chaque champ appelé en print. Est-ce que je dois le faire en disant à chaque fois $texte correspond à tel champ ou bien y a-t-il une autre possibilité?