2 styles CSS sur une boucle en php

jf_evreux
WRInaute discret
WRInaute discret
 
Messages: 220
Inscription: 17 Déc 2005

2 styles CSS sur une boucle en php

Message le Lun Juin 19, 2006 0:58

Salut,

je voudrais appliquer un style css unique sur les 3ers enregistrements d'une boucle puis un style différent pour les enregistrement suivants.

Savez vous si je dois utiliser 2 requêtes pour réaliser cela (une qui affiche les 3 ers, et une autre le reste), ou si il existe un moyen plus direct d'appliquer ce genre de condition à une requête unique ?
J'ai trouvé des exemples pour n'afficher que certains enregistrement mais pas pour ce que je cherche hélas.

merci d'avance,

Charles


ltressens
WRInaute impliqué
WRInaute impliqué
 
Messages: 551
Inscription: 2 Avr 2004

Message le Lun Juin 19, 2006 7:44

QQ chose du genre, ca convient pas ?

Code: Tout sélectionner
for ($i=0; $i < ... ; $i++)
{
     print "<td class=\"";
     if ($i < 3) { print "class1"; } else { print "class2"; }
     print "\">Le contenu de mon TD</td>";
}

jf_evreux
WRInaute discret
WRInaute discret
 
Messages: 220
Inscription: 17 Déc 2005

Message le Mar Juin 20, 2006 18:45

ah un grand merci je vais essayer !


Bacteries
WRInaute passionné
WRInaute passionné
 
Messages: 1369
Inscription: 27 Mai 2004

Message le Mer Juin 21, 2006 8:15

Histoire d'optimiser un peu plus :

Code: Tout sélectionner
for ($i=0; $i < 3; $i++)
{
     print "<td class=\"print "class1\">Le contenu de mon TD</td>";
}
for ($i=4; $i < $fin; $i++)
{
     print "<td class=\"print "class2\">Le contenu de mon TD</td>";
}


Ca évite des tests inutiles dans ta boucle.


ltressens
WRInaute impliqué
WRInaute impliqué
 
Messages: 551
Inscription: 2 Avr 2004

Message le Mer Juin 21, 2006 8:36

Attention à la valeur de fin dans ce dernier exemple. Il faut tester si elle dépasse 3 ou pas dans la première boucle :

Code: Tout sélectionner
$stop = min(3,$fin);
for ($i=0; $i<$stop; $i++)
{
    ...
}


et aussi à la valeur de démarrage de la seconde boucle :

Code: Tout sélectionner
for ($i=3; ...)


Bacteries
WRInaute passionné
WRInaute passionné
 
Messages: 1369
Inscription: 27 Mai 2004

Message le Mer Juin 21, 2006 8:40

Yep, ça reste à adapter.

jf_evreux
WRInaute discret
WRInaute discret
 
Messages: 220
Inscription: 17 Déc 2005

Message le Mer Juin 21, 2006 8:41

ah excellent merci beaucoup ! Merci aussi ltressens, j'ai bien noté ;-)
Question : on est obligé de donner un référent inférieur et supérieur à $i ? ou on peut juste le déclarer comme égal à "n", dans ce genre :
Merci!


Code: Tout sélectionner
for ($i=1; $i++)
{
     print "<td class=\"print "class1\">Le contenu de mon TD</td>";
}

for ($i=2; $i++)
{
     print "<td class=\"print "class2\">Le contenu de mon TD</td>";
}

for ($i=3; $i++)
{
     print "<td class=\"print "class3\">Le contenu de mon TD</td>";
}


for ($i=4; $i < $fin; $i++)
{
     print "<td class=\"print "class2\">Le contenu de mon TD</td>";
}



(c'est juste pour savoir au cas où j'aurais besoin d'assigner un style CSS différent à chacun des 3ers) merci!


Bacteries
WRInaute passionné
WRInaute passionné
 
Messages: 1369
Inscription: 27 Mai 2004

Message le Mer Juin 21, 2006 8:53

Une boucle c'est pour faire plusieur traitement à la suite. Et ça a une syntaxe précise.

Donc non

Là y'a beaucoup plus simple :
Code: Tout sélectionner
    print "<td class=\"print "class1\">Le contenu de mon TD</td>";
     print "<td class=\"print "class2\">Le contenu de mon TD</td>";
     print "<td class=\"print "class3\">Le contenu de mon TD</td>";
for ($i=4; $i < $fin; $i++)
{
     print "<td class=\"print "class2\">Le contenu de mon TD</td>";
}


T'auras ptéte besoin de faire des tests pour voir si t'as bien 3 résultat & cie; mais t'auras pas besoin de t'embéter.
Et si tes classes se nomment vraiment classe1 classe2 classe3 :

Code: Tout sélectionner
for ($i=0; $i < 3; $i++)
{
     print "<td class=\"print "class$i\">Le contenu de mon TD</td>";
}
for ($i=4; $i < $fin; $i++)
{
     print "<td class=\"print "class2\">Le contenu de mon TD</td>";
}
Dernière édition par Bacteries le Mer Juin 21, 2006 9:07, édité 1 fois.

jf_evreux
WRInaute discret
WRInaute discret
 
Messages: 220
Inscription: 17 Déc 2005

Message le Mer Juin 21, 2006 9:02

ok compris, effectivement c'est plus simple ...j'en apprends tous les jours ici ;-) merci pour le tuyau !


Si vous avez aimé cette discussion, partagez-la sur vos réseaux sociaux préférés :

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités