Forum Clubic

MYSQL afficher en gras certains résultats ?

Bonjour,
J’ai un problème que je n’arrive malheureusement pas a résoudre tout seul, ca serait vraiment sympa de m’aider

je m’explique, j’ai un agenda sur mon site, il faudrait que mes visiteurs puissent voir en survolant la page quelles ont été les dernières dates ajoutées.
Il y a environ 500 entrées…

j’aimerais dire a MYSQL de differéncier (appliquer un style css si possible afin de pouvoir modifier la couleur ou mettre en gras) les 5 dernières entrées en se basant sur l’id, en fait pour faire simple je recherche le code capable de dire :
séléctioner les 5 plus grandes valeures dans le champ ID, mettre en gras ou mettre une couleur et ceci seulement pendant une durée de 3 jours…

j’éspère que j’ai bien réussi à me faire comprendre et que quelqu’un pourra m’aider, je ne sais pas si c’est possible de faire ça mais d’avance un grand merci !!!

Non. Tu confond couche données et couche présentation; si tu veux que ce soit en gras, c’est au niveau de php, java, ou autre.

A moins que tu n’utilises phpMyAdmin ou équivalent? Auquel cas, tu ne pourras rien faire, sauf à faire dans le spécifique

Merci pour ta réponse,

Oui j’utilise phpMyAdmin, voici mon code qui affiche les résultats :

<? $now = date('Y-m-d'); $result = mysql_query("SELECT * FROM agenda WHERE ag_date>='$now' AND status='1' ORDER BY ag_date"); function dateConv($date) { list($y,$m,$d) = explode('-', $date); return "$d.$m.$y"; } echo ""; echo ""; echo ""; echo ""; echo ""; echo ""; echo ""; while($rec = mysql_fetch_assoc($result)) { echo ""; echo ""; echo ""; echo ""; echo ""; echo ""; } echo "
DateGroupeSalleLieu
".dateConv($rec['ag_date'])."".$rec['ag_groupe']."".$rec['ag_salle']."".$rec['ag_ville']."
"; ?>

je ne sais pas si en modifiant cette partie on arrive a faire quelque chose ??
lui dire d’afficher différement des autres les 5 dernieres entrées pendant 3 jours…

$result = mysql_query(“SELECT * FROM agenda WHERE ag_date>=’$now’ AND status=‘1’ ORDER BY ag_date”);

A mon avis tu ne passes pas du code php à phpmyadmin, si?

Bonjour,
Voici une solution qui n’est pas forcément la meilleure mais qui devrait résoudre ton problème.
Tu incrémentes une variable jusqu’à 5 (à condition que ta requete soit ordonnée comme tu le souhaites).

<? $now = date('Y-m-d'); $result = mysql_query("SELECT * FROM agenda WHERE ag_date>='$now' AND status='1' ORDER BY ag_date"); function dateConv($date) { list($y,$m,$d) = explode('-', $date); return "$d.$m.$y"; } $i = 0; echo ""; echo ""; echo ""; echo ""; echo ""; echo ""; echo ""; while($rec = mysql_fetch_assoc($result)) { $i = $i+1; if ($i<6) { echo ""; echo ""; echo ""; echo ""; echo ""; echo ""; } else { echo ""; echo ""; echo ""; echo ""; echo ""; echo ""; } } echo "
DateGroupeSalleLieu
".dateConv($rec['ag_date'])."".$rec['ag_groupe']."".$rec['ag_salle']."".$rec['ag_ville']."
".dateConv($rec['ag_date'])."".$rec['ag_groupe']."".$rec['ag_salle']."".$rec['ag_ville']."
"; ?>

Plus simple:

<?php
$now = date('Y-m-d');
$result = mysql_query("SELECT * FROM agenda WHERE ag_date>='$now' AND status='1' ORDER BY ag_date");

function dateConv($date) {
list($y,$m,$d) = explode('-', $date);
return "$d.$m.$y"; }

echo "<table class='agenda'>";
echo "<tr>";
echo "<th class='blue'>Date</th>";
echo "<th class='blue'>Groupe</th>";
echo "<th class='blue'>Salle</th>";
echo "<th class='blue'>Lieu</th>";
echo "</tr>";
for ( $i = 0; $rec = mysql_fetch_assoc($result); ++$i) {
echo '<tr', $i < 6 ? 'class="tr-bold"':'', '>';
echo "<td class='datebold'>".dateConv($rec['ag_date'])."</td>";
echo "<td class='topalign'>".$rec['ag_groupe']."</td>";
echo "<td class='cen'>".$rec['ag_salle']."</td>";
echo "<td class='cen'>".$rec['ag_ville']."</td>";
echo "</tr>";
}
echo "</table>"; ?>

A toi de débrouiller avec CSS.