Duplicate id (W3C) avec écho d'un <div>
Posté : 22 nov. 2016, 00:22
Bonsoir à tous.
Je suis actuellement confronté à un petit problème de validation W3C de ma page HTML5/CSS3.
Dans cette page, je cherche à afficher des logos récupérés d'une BDD.
J'utilise donc une boucle while pour afficher le résultat, via un echo, en PHP.
Lorsque que je souhaite appliquer ma mise en page CSS avec un <div class="">, rien ne s'affiche dans Firefox et Chrome (IE ne pose pas de problème).
Du coup, j'utilise un <div id="">. Là ça marche, mais comme je m'y attendais, le W3C Validator me retourne plein d'erreurs de duplicates id sur ma page (autant que de lignes correspondantes de ma BDD). C'est tout à fait logique, vu qu'en théorie un seul ID CSS n'est autorisé par page.
Ma question est donc de savoir pourquoi j'ai ce problème avec le <div class=""> et comment éviter les erreurs W3C.
Ce qui est encore plus étrange à mes yeux, c'est qu'avec le <div class""> le code source de la page affiche bien mes éléments, mais rien n'est visible à l'écran...
J'ai fait plusieurs vidages de cache de mes navigateurs, redémarré le process de mon server Web (nginx), mais rien n'y fait.
Voici mon code PHP/HTML :
Je suis actuellement confronté à un petit problème de validation W3C de ma page HTML5/CSS3.
Dans cette page, je cherche à afficher des logos récupérés d'une BDD.
J'utilise donc une boucle while pour afficher le résultat, via un echo, en PHP.
Lorsque que je souhaite appliquer ma mise en page CSS avec un <div class="">, rien ne s'affiche dans Firefox et Chrome (IE ne pose pas de problème).
Du coup, j'utilise un <div id="">. Là ça marche, mais comme je m'y attendais, le W3C Validator me retourne plein d'erreurs de duplicates id sur ma page (autant que de lignes correspondantes de ma BDD). C'est tout à fait logique, vu qu'en théorie un seul ID CSS n'est autorisé par page.
Ma question est donc de savoir pourquoi j'ai ce problème avec le <div class=""> et comment éviter les erreurs W3C.
Ce qui est encore plus étrange à mes yeux, c'est qu'avec le <div class""> le code source de la page affiche bien mes éléments, mais rien n'est visible à l'écran...
J'ai fait plusieurs vidages de cache de mes navigateurs, redémarré le process de mon server Web (nginx), mais rien n'y fait.
Voici mon code PHP/HTML :
<h3>Partenaires du club</h3>
<div id="center">
Voici la liste de nos plus fidèles partenaires. Merci à eux pour leur soutien.
<?php
$sql_link = connection_sql();
$sqlGetSponsors = mysqli_query($sql_link, "SELECT * FROM `sponsors`") or die(mysqli_error());
while($resultGetSponsors = mysqli_fetch_array($sqlGetSponsors)) {
if($resultGetSponsors['logo_sponsor'] != "") {
echo '<div id="sponsorBlock"><a href="'.$resultGetSponsors['link_sponsor'].'" target="_blank"><img src="'.$resultGetSponsors['logo_sponsor'].'" alt="Logo '.$resultGetSponsors['name_sponsor'].'" /></a></div>';
}
}
mysqli_free_result($sqlGetSponsors);
disconnect_sql($sql_link);
?>
</div>
Toute aide serait la bienvenue, parce que là, je ne trouve plus l'inspiration...