Tel que conseillé que W3C, j'essaie de remplacer mes tables par des css grid. Pas de souci quand il s'agit de structurer la page mais pour afficher un tableau avec bordures, ça se complique.
<div class="gridclassement">
<div class="cellbordgras">NOM</div>
<?php $reponse = mysql_query("SELECT nomclass FROM course order by no");
while ($donnees = mysql_fetch_array($reponse) )
{?>
<div><img src="<?php echo $donnees['nomclass'];?>.jpg" class="imgdrapclass" alt="<?php echo $donnees['nomclass'];?>"></div><?php }?>
<div class="cellbordgras">PTS</div>
<div> </div>
<?php $i=1;
// récupération des pilotes dans la table des statistiques des pilotes en faisant un tri décroissant sur le nombre de points
$reponse = mysql_query("SELECT * FROM classementpil ORDER BY total DESC,egalite DESC");
while ($donnees = mysql_fetch_array($reponse) )
{ $num = $donnees['no']; //copie du numéro dans une variable
$total = $donnees['total'];
//récupération du nom du pilote dans la table pilote via son numéro
$reponse2 = mysql_query("SELECT no,nom FROM pilote WHERE no=$num");
while ($donnees2 = mysql_fetch_array($reponse2) )
{ $nom = $donnees2['nom'];}?>
<div class="cellbordgrasgauche"><?php
mysql_query("update statspilote set classement = $i where no=$num");
echo $i; ?>)<a href="pilote-<?php echo strtolower($nom).'-'.$num; ?>.html" class="lien1"><?php echo $nom; ?></a></div>
<?php $reponse3 = mysql_query("SELECT nomclass FROM course order by no");
while ($donnees3 = mysql_fetch_array($reponse3) )
{$course='pts'.$donnees3['nomclass'];?>
<div class="cellbordgrasdroite"><?php echo $donnees[$course]; ?></div><?php }?>
<div class="cellbordgrasdroite"><?php echo $total;
mysql_query("update statspilote set points = $total where no=$num");?></div>
<div><img src="<?php echo $donnees['tendance']; ?>" alt="<?php echo $donnees['tendance']; ?>" class="imgtendance" />
<?php $i++; } ?>
</div><br />
</div>
Non seulement, je n'ai pas les bordures et il n'y a que la 1ère ligne qui est un peu alignée. J'ai refait le compte et j'ai bien 24 colonnes comme déclaré dans le CSS. Néanmoins, mon nombre de colonnes pourra être variable et il faudra que je n'ai pas encore compris à ce niveau-là, ce qui était bien géré par les table.
A une époque, on me conseillait de conserver les table dans ces cas-là. Visiblement, la norme a changé donc comment puis-je procéder?
> Et vous me confirmez que les table, c'est complètement obsolète aussi?
Pour la mise en page, oui. Mais comme le faisait florianthierry1, ici on a des pilotes et des courses, et ça paraîtrait pertinent d'avoir effectivement un tableau à double entrée.
Pas d'aide concernant le code par MP, le forum est là pour ça :)
la cellule avec "Nom" dedans devrait pour moi être un <th>, et il faudrait lui ajouter scope="col", pour indiquer qu'il concerne sa colonne
idem pour toutes les cellules avec des drapeaux
pour les images des drapeaux : mets une majuscule au nom de pays dans le alt
toujours pour les drapeaux : pas de "px" dans les attributs width et height
et surtout, recrée des images de la bonne taille, inutile de faire charger des gros fichiers si c'est pour n'en avoir que des miniatures affichées
les cellules avec les noms des pilotes doivent être des <th>, avec scope="row", pour indiquer que c'est leur ligne qu'elles "dirigent"
si tout ton tableau doit être en gras, inutile de donner une classe "cellgras" à toutes les cellules, cible directement le tableau
pas d'attribut align : si tu veux aligner, c'est en CSS
et, mais ça c'est une question d'esthétique, je ne te conseille pas de mettre l'attribut border sur ta table, passe par du CSS pour faire un design un peu plus fin, moins mastoc.
Pas d'aide concernant le code par MP, le forum est là pour ça :)
Merci pour les remarques. Je suis parvenu à mettre tout à jour sauf pour mettre une majuscule aux nom des drapeaux. La valeur de la DB est en minuscule et le nom de l'image aussi. Donc je devrais faire une manipulation de string pour y arriver, est-ce que ça en vaut vraiment la peine?
Remplacer HTML table par CSS Grid
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
Pas d'aide concernant le code par MP, le forum est là pour ça :)
Pas d'aide concernant le code par MP, le forum est là pour ça :)
Pas d'aide concernant le code par MP, le forum est là pour ça :)