Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1540 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  [PHP-MYSQL] Afficher dates un mois après l'autre

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[PHP-MYSQL] Afficher dates un mois après l'autre

n°1320427
gaetan7
et mon cul, c'est du poulet?
Posté le 07-03-2006 à 18:16:09  profilanswer
 

hello,
pour un site d'un groupe de musique, je cherche à afficher les dates de cette manière:
Mars:
01/03 Paris
03/03 Strasbourg
08/03 Reims
 
Avril
04/04 Lyon
05/04 Vienne
 
 
 
je pense que la solution est une requète avec le mois en cours, puis le mois + 1, mais je vois pas trop comment mettre ça en oeuvre, pour spécifier qu'au changement de mois, on réaffiche le mois puis les dates


---------------
"J'adore me promener en ville avec ma décapotable" JFK
mood
Publicité
Posté le 07-03-2006 à 18:16:09  profilanswer
 

n°1320430
omega2
Posté le 07-03-2006 à 18:19:51  profilanswer
 

Tes données sont stockés dans quoi? Si c'est dans une base de donnée, c'est quoi le type de la colone?
Si la colone est de type texte et dérivé (char, varchar, text,blob ...) ou si c'est socké dans un fichier, alors quel est le format de stockage choisit : En gros, les années en premier ou en dernier? Sur combien de chiffres? idem pour les mois et les jours. Et aussi quel est le séparateur choisit?
 
En fonction de ta réponse, la solution ne sera pas la même.

n°1320434
flo850
moi je
Posté le 07-03-2006 à 18:26:10  profilanswer
 


dans ta boucle d'affichage des resultats tu fais quelque chose comme ça :  

Code :
  1. $ancienMois = "";
  2. while($data = myslq_fetch_array($result)){
  3.     $mois = $data['mois'];
  4.     if($mois != $ancienMois)
  5.          echo $mois;
  6. }


---------------

n°1320438
gaetan7
et mon cul, c'est du poulet?
Posté le 07-03-2006 à 18:31:41  profilanswer
 

je stocke les dates dans une colonne de type date, pr le moment j'affiche tout en vrac:

Code :
  1. $query = "SELECT * FROM dates WHERE CURDATE() <= date limit 0,15 ";
  2. $result = mysql_query($query);
  3. while ($row = mysql_fetch_array($result))
  4. {
  5. list($year, $month, $day) = explode("-", $row['date']);
  6. $contenu = nl2br($row[contenu]);
  7. echo "<table border=\"0\" cellspacing=\"0\">";
  8.  echo "<tr>";
  9. echo $lastmodified = "<td class=\"texte-12\"><font color=\"#FFFFFF\" size=\"-2\" face=\"Geneva, Arial, Helvetica, sans-serif\">$day/$month</font></td>";
  10. echo "<td class=\"texte-12\"><font color=\"#FFFFFF\" size=\"-2\" face=\"Geneva, Arial, Helvetica, sans-serif\">".$row[ville_pays]."</font></td>";
  11.  echo "</tr>\n";


---------------
"J'adore me promener en ville avec ma décapotable" JFK
n°1320442
omega2
Posté le 07-03-2006 à 18:36:08  profilanswer
 

Citation :

list($year, $month, $day) = explode("-", $row['date']);

Vu que t'as déjà ça dans ton code, alors utilise donc le contenu de ces variables pour afficher ta date comme t'en as envie.
 
Il te reste plus qu'a comparer le contenu de $month avec la valeur du mois de la date précédante pour savoir si on change de mois.
 
A noter aussi le mot clé "ORDER BY" utilisable dans une requette de type "SELECT" et qui permet d'indique dans quel ordre la bdd doit trier les donées qu'elle nous retourne. En clair, là, il faudrait un "ORDER BY date" avant le "LIMIT" de ta requette.

n°1320451
gaetan7
et mon cul, c'est du poulet?
Posté le 07-03-2006 à 18:52:06  profilanswer
 

ok merci, en gros comme ce que flo proposait, en général je repompe du code, là je fais tout tout seul et j'ai du mal ;) mais j'aime ça


---------------
"J'adore me promener en ville avec ma décapotable" JFK
n°1320457
omega2
Posté le 07-03-2006 à 18:58:59  profilanswer
 

"Ca fait du bien là où ca fait mal." :lol:  
Y a des pubs qui restent, comme ça, on sait pas pourquoi. :whistle:  

n°1320484
gaetan7
et mon cul, c'est du poulet?
Posté le 07-03-2006 à 19:42:47  profilanswer
 

Edit: nan rien, j'ai trouvé tout seul


Message édité par gaetan7 le 07-03-2006 à 19:46:50

---------------
"J'adore me promener en ville avec ma décapotable" JFK
n°1322693
gaetan7
et mon cul, c'est du poulet?
Posté le 10-03-2006 à 12:49:36  profilanswer
 

bon, j'ai fait ça

Code :
  1. <?php
  2. //connexion
  3. require("connect.php" );
  4. $aMonthNames = array (1 => 'janvier', 2 => 'février',  3 => 'mars',  4 => 'avril',  5 => 'mai',  6 => 'juin',  7 => 'juillet',  8=> 'aout',  9=> 'septembre',  10 => 'octobre',  11=> 'novembre',  12 => 'decembre');
  5. $sQuery = 'SELECT MONTH(date) AS mois FROM dates';
  6. $rReq = mysql_query ($sQuery) or die (mysql_error());
  7. while ($aRes = mysql_fetch_assoc($rReq)) {
  8.    $aMois[] = $aRes['mois'];
  9. }
  10. foreach ($aMois as $mois) {
  11.    echo $aMonthName[$mois], '<br />';
  12.    $sQuery = 'SELECT * FROM dates WHERE MONTH(date) = \''.$mois.'\' ORDER BY id';
  13.   $rReq = mysql_query ($sQuery);
  14. while ($row= mysql_fetch_assoc ($rReq)) {
  15. $id_print = $row['id'];
  16. list($year, $month, $day) = explode("-", $row['date']);
  17. $contenu = nl2br($row[contenu]);
  18. //affichage
  19. echo "<table border=\"0\" cellspacing=\"0\">";
  20.  echo "<tr>";
  21. echo $lastmodified = "<td class=\"texte-11\">$day/$month</td>";
  22. echo "<td class=\"texte-11\">".$row[ville_pays]."</td>";
  23. echo "<td class=\"texte-11\"> - ".$row[nom_salle]."</td>";
  24. echo "<td class=\"texte-11\">[ <a href=\"#\" onClick=\"window.open('fr-tour_info.php?&id=$id_print','Infos','toolbar=0, location=0, directories=0, status=0, scrollbars=0, resizable=1, copyhistory=0, menuBar=0, width=500, height=200, left=150, top=150');return(false)\">Infos</a> ]</td>";
  25.  echo "</tr>\n";
  26. echo "</table>";
  27. }
  28. }
  29. ?>


 
il m'affiche 6 fois la même chose ??


Message édité par gaetan7 le 10-03-2006 à 14:40:23
n°1322803
gaetan7
et mon cul, c'est du poulet?
Posté le 10-03-2006 à 15:12:42  profilanswer
 

trouvé!
j'ai changé ma requète en "$sQuery = 'SELECT DISTINCT MONTH(date) AS mois FROM dates';"


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  [PHP-MYSQL] Afficher dates un mois après l'autre

 

Sujets relatifs
[PHP] Faire un menu en fonction des repertoires[PHP] Warning: gethostbyaddr(): Address is not a valid IPv4 or IPv6...
[MySQL] Quel type de champ pour quel type de données ?[mysql] Comment effacer plusieurs tables à la fois ?
[ MySQL ] Requête imbriquée ???Sécurité d'applications PHP
[PHP] Calcul avec des nb a virgules [RESOLU]fichier .odt indexé sur table mysql et en php
composer une bdd mysql pour creer une plate forme de blog ?Une varible PHP dans du SQL ?
Plus de sujets relatifs à : [PHP-MYSQL] Afficher dates un mois après l'autre


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR