2 styles CSS sur une boucle en php

Consultez la formation au référencement naturel Google de WebRankInfo / Ranking Metrics


jf_evreux
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 216
Inscription: Sam Déc 17, 2005 19:59

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 passionné
WRInaute passionné
 
Messages: 551
Inscription: Ven Avr 02, 2004 14:52

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 occasionnel
WRInaute occasionnel
 
Messages: 216
Inscription: Sam Déc 17, 2005 19:59

Message le Mar Juin 20, 2006 18:45

ah un grand merci je vais essayer !


Bacteries
WRInaute accro
WRInaute accro
 
Messages: 1333
Inscription: Jeu Mai 27, 2004 13:04

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 passionné
WRInaute passionné
 
Messages: 551
Inscription: Ven Avr 02, 2004 14:52

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 accro
WRInaute accro
 
Messages: 1333
Inscription: Jeu Mai 27, 2004 13:04

Message le Mer Juin 21, 2006 8:40

Yep, ça reste à adapter.


jf_evreux
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 216
Inscription: Sam Déc 17, 2005 19:59

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 accro
WRInaute accro
 
Messages: 1333
Inscription: Jeu Mai 27, 2004 13:04

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 occasionnel
WRInaute occasionnel
 
Messages: 216
Inscription: Sam Déc 17, 2005 19:59

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 !


Formation recommandée sur ce thème :

Formation Référencement naturel Google : apprenez une méthode efficace pour optimiser à fond le référencement naturel dans Google de façon durable... Formation animée par Olivier Duffez et Fabien Facériès, experts en référencement naturel.

Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.

Lectures recommandées sur ce thème :



Qui est en ligne

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