Changement de div à chaque affichage de contenu (php)

Eléphanteau du PHP | 16 Messages

19 juin 2010, 18:53

Bonjour à tous,

alors j'ai une petite question qui me turlupine
je suis entrain de faire mon site, je vais faire un pti système en php qui rajoutera une div à chaque fois avec d'une contenu dedans:

Image

enfaite ça appèlera la base de donnée pour avoir le contenu image et texte,
seulement la boucle while que j'utiliserais en php il faudra afficher ce même cadre div id="cadre" seulement pour des raisons de normes w3c il est interdit d'utiliser plusieurs fois la même id.

et donc je cherchais sans vraiment avoir trouvé de réelle solution, un script ou je ne sais pas mais quelque chose qui permettrait de modifier ce nom à chaque affichage avec la boucle while mais qui serait aussi à la fois dans le css.

Dans mon cas une certaine taille et un background-image est toujours utilisé.

Est-ce que quelqu'un a déjà été confronté à ceci ?
Merci de votre aide

Eléphant du PHP | 55 Messages

19 juin 2010, 18:59

Bonjour,

Tu peux utiliser une variable compteur que tu incrémentes à chaque boucle et que tu concatènes à la suite de l'id de ton div. Mais ton fichier css va rapidement devenir ingérable si tu as de nombreux div.
Pourquoi ne pas utiliser un class plutôt qu'un div ?

Eléphanteau du PHP | 16 Messages

19 juin 2010, 20:02

salut,

honnêtement j'avais complètement oublié que l'on pouvait utiliser plusieurs fois la même class je me disais que c'était soumis à la même règle mais j'avais complètement oublié que non.
bon alors c'est tout bête ^^

enfin pour l'incrémentation je pense que je devrais alors me mettre en fonction d'une nombre d'id que j'aurais
me rappel plus trop de l'incrémentation...
#-o

ViPHP
AB
ViPHP | 5818 Messages

19 juin 2010, 20:20

Si tu peux, fait comme l'a dit Ganesh et utilises l'attribut class ce sera plus simple

sinon pour l'incrémentation
<?php
$i=0;

while(...)
{?>

<div id = "cadre<?php echo $i?>">...</div>

<?php 
$i++;
} ?>
mais c'est pas forcément simple à gérer

D'un autre côté si c'est uniquement pour faire une mise en page tu peux aussi faire par exemple :

Code : Tout sélectionner

<style type="text/css"> #conteneur div { width:650px; margin:auto; } </style> <div id = "conteneur"> <div>Tes images et ton texte</div> <div>Tes images et ton texte</div> </div>

Eléphanteau du PHP | 16 Messages

20 juin 2010, 00:01

ouais c'est que je compte faire maintenant utiliser des class au lieu des id faudra que juste que j'incorpore une boucle avec l'incrémentation :wink: