Nolem a écrit :
Salut et bienvenue sur le forum,
Logiquement le tag de retour à la ligne ne s'écrit pas comme ceci : <br> mais plutôt : <br /> (xhtml). D'ailleurs, je ne vois pas l'utilité dans ton code de placer autant de retour à la ligne. Je crois qu'il aurait mieux fallu faire ceci :
// ... code précedent (while)
$nom=$data['nom'];
$description=$data['description'];
echo htmlentities(trim("<span class=\"nom\">".$nom."</span>"));
echo htmlentities(trim("<span class=\"description\">".$description."</span>"));
// ... code suivant
Si je puis me permettre, voici une petite correction concernant le php dans un premier temps:
Ici, le trim ne sert STRICTEMENT a rien, puisque, ce que tu "trim" étant codé en dur, tu sais déjà qu'il n'y a pas d'espace au début ou à la fin.
Et ton htmlentities va également traduire tout ton code html.
En plus, tu utilise des guillemets doubles, mais tu les coupes pour afficher ta $var. L'avantage de ces derniers est que justement il interprète les variables qu'il englobe.
Une autre possibilité (que je préfère personnellement) est d'utiliser des guillemets simple, ce qui en plus, t'évitera de devoir échapper les doubles dans ta chaîne html.
Je mets un echo avec chaque solution, juste pour montrer, mais il est évident qu'il faut rester cohérent dans son code et utiliser toujours la même méthode:
// ... code précedent (while)
$nom = htmlentities(trim($data['nom']));
$description = htmlentities(trim($data['description']));
echo '<span class="nom">' . $nom . '</span>';
echo '<span class="description">' . $description . '</span>';
// ... code suivant
C'est quant même plus propre non?
De plus, comme l'a dit Nolem, le caractère de
concaténation est le point ("."), pas la virgule.
Personnellement, j'aurais plutôt vu ton html comme ceci:
//... while
<dl class="member">
<dt class="name">Nom</dt>
<dd class="name"><?php echo htmlentities(trim($data['nom'])); ?></dd>
<dt class="description">Description</dt>
<dd class="description"><?php echo htmlentities(trim($data['description'])); ?></dd>
<dt class="more">Détail</dt>
<dd class="more">... ce que tu veux ici</dd>
</dl>
De plus, pense à l'accessibilité.
Il se passe quoi si les gens n'ont pas javascript?