5568 sujets

Sémantique web et HTML

Bonjour je voulais savoir ce que signifie cette erreur dans le validateur w3.
voici le code:


<div id="ok" >
<table>
<tr>
<? $i=1; $nombre=0;
while($i<=$nbre_photos)
{if($i<10){$num='0'.$i;} else{$num=$i;}
echo '<td> <a href="'.$prenom_nom.'.'.$galerie.'.'.$nbre_photos.'.'.$num.'.html">
<img class="Mini" src="images/imagesb/'.$prenom_nom.'-g'.$galerie.'p'.$num. 'b.jpg" alt="'.$prenom_espace.' ' .$i. '" />
</a></td>'; $i++; $nombre++;
if ($nombre==6) { echo'</tr><tr>'; $nombre=0;} }?>
</tr>


</table>
</div>

merci
J'ai fait un test simplifié : si tu fais avec 15 photos, ça marche nickel et ça valide, par contre, avec 12 (ou un multiple de 6, ça déconne, car on a <tr></tr> en fin de tableau, et ça ne valide pas)

Je pense qu'il faut un petit peu remanier ta boucle :


<div id="ok" >
<table>
<? $i=1; $nombre=0;
$nbre_photos=8;

while($i<=$nbre_photos){

if ($nombre==0) { echo"<tr>\n"; } // si on est en début de ligne => ouverture de ligne

if($i<10){$num='0'.$i;} else{$num=$i;}

echo " <td> ".$i. "</td>\n";

$i++;

$nombre++;

if ($nombre==6) { echo"</tr>\n"; $nombre=0;} // si on est en fin de ligne on close le tr

}

if ($nombre!=0){ // petit test => si on est pas à la fin d'une ligne et qu'on est sorti de la boucle, alors on close le tr
echo " </tr>\n";
}
?>

</table>
</div>


En espérant que ça t'aide !
Marvin Le Rouge a écrit :
Salut,

Ca ne m'étonnerait pas qu'il y ait un rapport avec le fin qu'un tr DOIT contenir au moins un th ou un td.


C'est tout à fait ça !

Mais c'est dommage d'ouvrir une cellule vide, d'où ma proposition de "refonte" de la boucle en question.
Bravo ! N'oublie pas de modifier le titre de ton sujet pour y ajouter le tag "Résolu".

En outre, une petite question rapide : Es-tu vraiment sûr que ta page est en XHTML 1.1 et qu'elle a vraiment besoin de ce doctype ?