Bonjour,
Dans ma base de données j'ai une table qui me répertorie de nombreuses dates (2010-04-07)
Je voudrais trier ses dates par trimestre dans une liste déroulante.
Du genre :
Premier trimestre 2010
Deuxieme trimestre 2010
---
Premier trimestre 2009
Pour l'instant mon code ressemble à sa :
Le seul problème c'est qu'il me prends en compte que quatre valeurs.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61 $query2 = "SELECT DISTINCT month(SUIVRE_date) , year(SUIVRE_date) FROM suivre_rep WHERE SUIVRE_client_id = '".$id."' ORDER BY year(SUIVRE_date)"; $result2 = mysql_query($query2); $nb_result = mysql_num_rows($result2); $mes_mois = array(); echo '<br /><div id="periode_tot">'; echo "Trimestre : <br>"; echo '</div><br>'; echo '<div id="texte">'; echo "</div>"; $mon_tablo = array(); $mon_annee = array(); echo '<select name="trimestre">'; while($row = mysql_fetch_array($result2)) { $mes_mois = $row[0]; if($mes_mois == 1 or $mes_mois == 2 or $mes_mois == 3) { $mon_annee[0] = $row[1]; $mon_tablo[0] = "Premier trimestre '".$row[1]."'"; } else if($mes_mois == 4 or $mes_mois == 5 or $mes_mois == 6) { $mon_annee[1] = $row[1]; $mon_tablo[1] = "Deuxieme trimestre '".$row[1]."'"; } else if($mes_mois == 7 or $mes_mois == 8 or $mes_mois == 9) { $mon_annee[2] = $row[1]; $mon_tablo[2] = "Troisieme trimestre '".$row[1]."'"; } else if($mes_mois == 10 or $mes_mois == 11 or $mes_mois == 12) { $mon_annee[3] = $row[1]; $mon_tablo[3] = "Quatrieme trimestre '".$row[1]."'"; } } print_r($mon_annee); if(in_array("Premier trimestre '".$mon_annee[0]."'", $mon_tablo)) { echo '<option>Premier trimestre '.$mon_annee[0].'</option>'; } if(in_array("Deuxieme trimestre '".$mon_annee[1]."'", $mon_tablo)) { echo '<option>Deuxieme trimestre '.$mon_annee[1].'</option>'; } if(in_array("Troisieme trimestre '".$mon_annee[2]."'", $mon_tablo)) { echo '<option>Troisieme trimestre '.$mon_annee[2].'</option>'; } if(in_array("Quatrieme trimestre '".$mon_annee[3]."'", $mon_tablo)) { echo '<option>Quatrieme trimestre '.$mon_annee[3].'</option>'; } echo '</select>';
L'erreur vient du faire que si j'ai un trimestre en 2009 et 2010 il m'affichera qu'un seul des deux. Dois-je ajouter une condition dans mes if dans le tant que ?
Je vous remercie pour votre aide.
Partager