19-04-2007, 06:46 PM
(Modification du message : 19-04-2007, 07:45 PM par Sephi-Chan.)
Je propose cette solution, que je trouve plus légère d'un point de vue traitement, plus condensée aussi.
Je peux commenter le code au besoin.
Je peux commenter le code au besoin.
Code PHP :
<?php
$obj = array(
array('id' => 1, 'nom' => 'Epée', 'image' => 'images/Armes/Epee-1.png'),
array('id' => 2, 'nom' => 'Casque', 'image' => 'images/Defence/Casque-1.png')
);
define('CASES', 20);
define('ELEMENTBYLINE', 4);
$tbl = '<table><caption>Inventaire</caption>';
for($i = 0; $i < CASES; $i++){
if($i%ELEMENTBYLINE == 0){ $tbl .= "\n<tr>"; }
(isset($obj[$i]))
? $tbl .= "\n\t".'<td><img src="'.$obj[$i]['image'].'" alt="'.$obj[$i]['nom'].'"></td>'
: $tbl .= "\n\t".'<td><img src="images/vide.png" alt="Vide"></td>'
;
if($i%ELEMENTBYLINE == ELEMENTBYLINE-1){ $tbl .= "\n</tr>"; }
}
$tbl .= "\n</table>\n";
echo $tbl;
Le HTML ici généré est proprement indenté.
Si on ne souhaite pas passer par le tableau intermediaire c'est facilement adaptable.
Sephi-Chan