8791 sujets

Développement web côté serveur, CMS

Bonjour,

Me voici face à un problème de gullemets sur 3 niveaux.

J'ai même essayé de simplifier le code avec seulement 2 niveaux.
Mais je n'y arrive pas non plus !

PS. L'argument passé en javascript doit être alphanumérique !

Pouvez-vous m'aider ?

D'avance, je vous en remercie !


echo "<td height='120' bgcolor='#CCCCCC' align='center'><img onclick='zoomLon('".$rep.$liste[$i].".JPG');' src='".$rep.$liste[$i].".JPG' width='120' height='80'></td>";

Modifié par jytest (31 May 2012 - 17:47)

echo '<td height="120" bgcolor="#CCCCCC" align="center"><img onclick="zoomLon(\'' . $rep.$liste[$i] . '.JPG\');" src="' . $rep.$liste[$i] . '.JPG" width="120" height="80"></td>';


Mais si tu ne mélanges pas HTML et PHP comme tu le fais tu auras moins de problèmes de ce genre. Utilise PHP comme un langage de template (ce qu'il est à la base) :


<td height="120" bgcolor="#CCCCCC" align="center"><img onclick="zoomLon('<?php echo $rep.$liste[$i]; ?>.JPG');" src="<?php echo $rep.$liste[$i]; ?>.JPG" width="120" height="80"></td>

Modifié par jb_gfx (31 May 2012 - 18:13)
D'accord.

Mais quand il s'agit d'un echo dans une boucle php...
il n'y a pas le choix !

Néanmoins, j'ai trouvé !


echo "<td height='120' bgcolor='#CCCCCC' align='center'><img onclick=\"zoomLon('".$rep.$liste[$i].".JPG');\" src='".$rep.$liste[$i].".JPG' width='120' height='80'></td>";

Modifié par jytest (31 May 2012 - 22:08)
jytest a écrit :

Mais quand il s'agit d'un echo dans une boucle php...
il n'y a pas le choix !


Si, bien sûr que c'est possible, c'est comme ça que tu construis tes vues en MVC ou avec n'importe quel moteur de template.

Par exemples :

En PHP pur :


<ul>
  <?php foreach ($links as $link) : ?>
    <li><a href="<?=$link['href']?>"><?=$link['label']?></li>
  <?php endforeach; ?>
<ul>


Avec le moteur Twig :


<ul>
  {% for link in links %}
    <li><a href="{{ link.href }}">{{ link.label }}</a></li>
  {% endfor %}
</ul>


etc.
Modifié par jb_gfx (01 Jun 2012 - 00:29)