gets7
Messages postés13Date d'inscriptionvendredi 10 mars 2006StatutMembreDernière intervention26 février 2010
-
10 mars 2006 à 09:17
malalam
Messages postés10839Date d'inscriptionlundi 24 février 2003StatutMembreDernière intervention 2 mars 2010
-
10 mars 2006 à 15:19
hello,
je dois faire un site pour mon groupe de musique et du coup me suis mis au php, pour le moment j'affiche les dates de concerts ainsi
je pense faire un truc comme ça dans ma boucle d'affichage
vous pourriez m'aider un peu, je pense que dans ma boucle d'affichage je dois faire un while qui compare le mois , mais j'avoue que ça me dépasse un peu
merci
gets7
Messages postés13Date d'inscriptionvendredi 10 mars 2006StatutMembreDernière intervention26 février 2010 10 mars 2006 à 09:43
voici le code
//connexion base
require("connect.php");
//requète$query "SELECT * FROM dates WHERE titre 'Incredible Tour 2006' ORDER BY id";
$result = mysql_query($query);
echo " Incredible Tour 2006
";
//boucle d'affichage du tableau
while ($row = mysql_fetch_array($result))
{
malalam
Messages postés10839Date d'inscriptionlundi 24 février 2003StatutMembreDernière intervention 2 mars 201025 10 mars 2006 à 09:56
Aau passage, pour des raisons de perf, il vaut mieux ne pas utiliser *, mais nommer tous les champs que l'on veut extraire, même si'il s'agit de TOUS les champs).
Ok donc tu as un champ 'date'. De quel type est-il ? S'il est de type datetime, c'est très facile :
SELECT tes champs FROM dates WHERE titre = 'Incredible Tour 2006' ORDER BY id, date
Vous n’avez pas trouvé la réponse que vous recherchez ?
malalam
Messages postés10839Date d'inscriptionlundi 24 février 2003StatutMembreDernière intervention 2 mars 201025 10 mars 2006 à 10:32
Aaaahhh...
Je serais toi, je pense que je ferais ça en 2 étapes, avec un ajout pour le nom des mois :$aMonthNames array (1> 'janvier', 2 => 'février', etc...);
une requête pour récupérer tous les mois de ta base:
SELECT MONTH(date) FROM dates
Et tu stockes ça dans un tableau? UN TRUC DU GENRE /
$sQuery = 'SELECT MONTH(date) AS mois FROM dates';
$rReq = mysql_query ($sQuery) or die (mysql_error());
while ($aRes = mysql_fetch_assoc($rReq)) {
$aMois[] = $aRes['mois'];
}
Puis je bouclerais dessus pour faire ma requête :
foreach ($aMois as $mois) {
echo $aMonthName[$mois], '
'; $sQuery 'SELECT ce que tu veux FROM dates WHERE MONTH(date) \''.$mois.'\' ORDER BY id';
$rReq = mysql_query ($sQuery);
while ($res = mysql_fetch_assoc ($rReq)) {
// ton affichage
}
}
$sQuery = 'SELECT MONTH(date) AS mois FROM dates';
$rReq = mysql_query ($sQuery) or die (mysql_error());
while ($aRes = mysql_fetch_assoc($rReq)) {
$aMois[] = $aRes['mois'];
}
foreach ($aMois as $mois) {
echo $aMonthName[$mois], '
'; $sQuery 'SELECT * FROM dates WHERE MONTH(date) \''.$mois.'\' ORDER BY id';
$rReq = mysql_query ($sQuery);
while ($res = mysql_fetch_assoc ($rReq)) {
malalam
Messages postés10839Date d'inscriptionlundi 24 février 2003StatutMembreDernière intervention 2 mars 201025 10 mars 2006 à 14:44
Ah, ça c'est génant.
C'est quoi qu'il t'affiche 6 fois de suite ? chaque contenu pour 1 mois ?
Tu as combien de mois dans ta base, à priori ?
(suffit de compter $aMois)