PHP|Débutant :: Forums

Advertisement

Besoin d'aide ? N'hésitez pas, mais respectez les règles

Vous n'êtes pas identifié(e).

#1 08-06-2011 12:59:07

10000hz
Membre
Inscription : 30-07-2009
Messages : 64

css et bdd mysql

Bonjour à tous,

je souhaiterai que l'affichage du dernier enregistrement dans la bdd mysql adopte un autre style css que les autres.

ex. tous les liens sont bleus et le dernier enregistrement sera rouge

et cela sans notion de date - simplement si c'est le dernier enregistrement alors "autre style"

merci de votre aide ! wink

Hz

Hors ligne

#2 08-06-2011 13:01:42

Maljuna Kris
Infantimigulo
Lieu : Douarnenez 29100 Breizh Izel
Inscription : 08-05-2009
Messages : 2 453
Site Web

Re : css et bdd mysql

Saluton,
Comment parcours-tu ta ressource résultat de la requête dans PHP ?


Gloire à qui n'ayant pas d'idéal sacro-saint,
Se borne à ne pas trop emmerder ses voisins. G. Brassens Don Juan 1976.
Avĉjo MoKo kantas
La chaîne YouTube MoKo Papy

Hors ligne

#3 08-06-2011 13:05:30

10000hz
Membre
Inscription : 30-07-2009
Messages : 64

Re : css et bdd mysql

merci Maljuna,
je nsais si c'est ce que tu me demandes mais voilà comment j'appelle les données:

$query = "SELECT * FROM records ORDER BY nom DESC LIMIT 0,100";

Hors ligne

#4 08-06-2011 13:08:05

10000hz
Membre
Inscription : 30-07-2009
Messages : 64

Re : css et bdd mysql

puis...

$result = mysql_query($query);

while ($row = mysql_fetch_array($result)) {


echo ("


<a href=\"lien"></a>

");

}

Hors ligne

#5 08-06-2011 13:17:31

Maljuna Kris
Infantimigulo
Lieu : Douarnenez 29100 Breizh Izel
Inscription : 08-05-2009
Messages : 2 453
Site Web

Re : css et bdd mysql

Donc, tel quel, tu n'as aucun moyen de détecter que tu as atteint la dernière ligne.
Alors il y a plusieurs moyens de contourner cela, le plus simple, selon moi, est encore de te contenter de charger les liens dans un array PHP, puis de revenir sur le dernier pour le modifier en lui ajoutant une déclaration de class CSS avec  str_replace($item,"<a href", "<a class=\"rouge\" href");
Bien sûr tu parcours ensuite cet array avec un foreach pour faire un echo de chaque lien dans l'ordre où tu les auras créés.


Gloire à qui n'ayant pas d'idéal sacro-saint,
Se borne à ne pas trop emmerder ses voisins. G. Brassens Don Juan 1976.
Avĉjo MoKo kantas
La chaîne YouTube MoKo Papy

Hors ligne

#6 08-06-2011 13:21:20

10000hz
Membre
Inscription : 30-07-2009
Messages : 64

Re : css et bdd mysql

merci de ton aide
tu pourrais me montrer le code de ta première solution à savoir: détecter que tu as atteint la dernière ligne ?

Hors ligne

#7 08-06-2011 13:45:15

Maljuna Kris
Infantimigulo
Lieu : Douarnenez 29100 Breizh Izel
Inscription : 08-05-2009
Messages : 2 453
Site Web

Re : css et bdd mysql

$result = mysql_query($query);
$liens=array();
while ($row = mysql_fetch_array($result)) {
    $liens[]="<a href=\"lien"></a>";
    }
$liens[count($liens)-1]=str_replace($liens[count($liens)-1],"
<a href", "<a class=\"rouge\" href");
foreach($liens as $lien){
    echo $lien;
    }

Gloire à qui n'ayant pas d'idéal sacro-saint,
Se borne à ne pas trop emmerder ses voisins. G. Brassens Don Juan 1976.
Avĉjo MoKo kantas
La chaîne YouTube MoKo Papy

Hors ligne

#8 08-06-2011 13:47:14

10000hz
Membre
Inscription : 30-07-2009
Messages : 64

Re : css et bdd mysql

ah désolé j'vais pas vu ta réponse !!!!!!!!!!!!!

10000 merci tongue

Hors ligne

#9 08-06-2011 13:54:45

10000hz
Membre
Inscription : 30-07-2009
Messages : 64

Re : css et bdd mysql

dankon!

Hors ligne

#10 08-06-2011 14:10:16

Pierrot
Ancien nouveau
Inscription : 08-05-2009
Messages : 1 195

Re : css et bdd mysql

j'ai juste envie de crier "VIVE JS" big_smile:D

a++

Hors ligne

#11 08-06-2011 15:49:39

10000hz
Membre
Inscription : 30-07-2009
Messages : 64

Re : css et bdd mysql

petit souci de syntaxe avec str_replace je pense:

le nom de mon lien  est une variable ($row[nom]) et quand j'écris ceci:

$liens[count($liens)-1]=str_replace($liens[count($liens)-1],"<a href", "<a href='' class='rouge'>$row[nom]</a>");

il n'apparait pas comme pour les autres liens... il est ignoré en fait; d'autre part, le changement ne touche pas le dernier enregistrement mais le premier vu que j'affiche avec DESC et je ne vois pas comment inverser le process...

merci de ton aide

hz

Hors ligne

#12 08-06-2011 16:09:42

Maljuna Kris
Infantimigulo
Lieu : Douarnenez 29100 Breizh Izel
Inscription : 08-05-2009
Messages : 2 453
Site Web

Re : css et bdd mysql

Oula ! on mélange tout là.

$liens[count($liens)-1]=str_replace($liens[count($liens)-1],"<a href", "<a href='' class=\"rouge\"");

devrait suffire à ajouter class="rouge" dans le dernier lien du tableau $lien.
Maintenant si tu me dis qu'en fait, à cause de ORDER BY nom DESC, tu ne sais plus sur quel lien mettre le rouge...
Dans une table MySQL, sauf à ce qu'elle contienne une colonne de type TIMESTAMP qui serait automatiquement valorisée avec CURRENT_TIMESTAMP à l'insertion, on ne sait plus l'ordre d'entrée des lignes. Il faut les considérer comme des billes dans un sac.


Gloire à qui n'ayant pas d'idéal sacro-saint,
Se borne à ne pas trop emmerder ses voisins. G. Brassens Don Juan 1976.
Avĉjo MoKo kantas
La chaîne YouTube MoKo Papy

Hors ligne

Pied de page des forums