IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

Affichage données sur 12 mois


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Juin 2006
    Messages
    215
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 215
    Par défaut Affichage données sur 12 mois
    Bonjour,
    Je n'arrive pas à visualiser la manière de faire pour afficher des données provenant d'une table sur 12 mois.
    Je m'explique:
    Ma table comprend des enregistrement , et je voudrais afficher le nombre d'enregistrement par mois en commencant par sept08
    Qui aurait une piste de départ ?

    D'avance merci

  2. #2
    Membre chevronné Avatar de sacricri
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    324
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 324
    Par défaut
    Bonjour, essaye ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    SELECT *
    FROM `nom_de_la_table`
    WHERE champ_date
    BETWEEN 'date_debut'
    AND 'date_fin'
    pense à mettre les valeurs date_debut et date_fin dans des variables et à faire une concordance entre date_debut et date_fin de +12 mois.

  3. #3
    Membre confirmé
    Inscrit en
    Juin 2006
    Messages
    215
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 215
    Par défaut
    Citation Envoyé par sacricri Voir le message
    Bonjour, essaye ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    SELECT *
    FROM `nom_de_la_table`
    WHERE champ_date
    BETWEEN 'date_debut'
    AND 'date_fin'
    pense à mettre les valeurs date_debut et date_fin dans des variables et à faire une concordance entre date_debut et date_fin de +12 mois.
    Merci
    Pour ma requete il n'y pas de soucis.
    L'idée es tde créer un tableau avec les 12 mois de l'année et je n'arrive pas visualiser comment faire pour placer les données de sep et octobre.

  4. #4
    Membre chevronné Avatar de sacricri
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    324
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 324
    Par défaut
    Citation Envoyé par dunbar Voir le message
    Merci
    Pour ma requete il n'y pas de soucis.
    L'idée es tde créer un tableau avec les 12 mois de l'année et je n'arrive pas visualiser comment faire pour placer les données de sep et octobre.
    hum, pas trop compris, quel est le problème avec septembre et octobre ?

  5. #5
    Membre chevronné Avatar de defcon_suny
    Homme Profil pro
    Non pas trop...
    Inscrit en
    Décembre 2006
    Messages
    441
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Non pas trop...
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Décembre 2006
    Messages : 441
    Par défaut
    Salut!

    D'abord tu ordonnes ta requête sur la date (ORDER BY). Ensuite tu nous fais voir ton code HTML et tu t'expliques sur ce que tu voudrais exactement ;-)

    ++

  6. #6
    Membre confirmé
    Inscrit en
    Juin 2006
    Messages
    215
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 215
    Par défaut
    Citation Envoyé par sacricri Voir le message
    hum, pas trop compris, quel est le problème avec septembre et octobre ?
    Je crée in tb avec mes données exemple :
    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
     
    $annee     = date('Y'); // Année de debut
    $anneeFin  = $annee +1 ; // l'an prochain
    $dateDebut = $annee.'-09-01'; // on va du 1er septembre
    $dateFin   = $anneeFin . '-06-30'; 
    $sqlmatos = "SELECT MONTH(date_enreg) AS mois,
                                              sty_mod_1, sty_mod_2, sty_mod_3, sty_mod_4, sty_mod_5, sty_mod_6, equalizer
                                              FROM ampli_lm
                                              WHERE date_enreg BETWEEN '".$dateDebut."' AND '".$dateFin."'
     
                                              ";
                                 $result_matos = mysql_query($sqlmatos) or die ('Ne trouve pas toutes les données : '.mysql_error());
                                 $total_matos  = mysql_num_rows($result_matos);
                                 //$data         = mysql_fetch_array($result_matos);
     
                                  // Initilisation des tableaux
                                 $a = array(); $b = array(); $c = array(); $d = array(); $e = array(); $f = array(); $g = array();
     
                                  // Remplissage des tableaux
                                 while($row = mysql_fetch_array($result_matos)){
     
     
                                 #Données Mois
     
                                 $md1 = (($row['mois']==date('n')) ? $row['sty_mod_1'] : "0");
                                 $md2 = (($row['mois']==date('n')) ? $row['sty_mod_2'] : "0");
                                 $md3 = (($row['mois']==date('n')) ? $row['sty_mod_3'] : "0");
                                 $md4 = (($row['mois']==date('n')) ? $row['sty_mod_4'] : "0");
                                 $md5 = (($row['mois']==date('n')) ? $row['sty_mod_5'] : "0");
                                 $md6 = (($row['mois']==date('n')) ? $row['sty_mod_6'] : "0");
     
     
                                 // Ajout des valeurs des champs dans les tableaux
                                array_push($a, $md1);
                                array_push($b, $md2);
                                array_push($c, $md3);
                                array_push($d, $md4);
                                array_push($e, $md5);
                                array_push($f, $md6);
                                array_push($g, $md7);
     
                                }
     
                                $i  = array_merge($a,$b,$c,$d,$e,$f,$g);    // Fusion
                                $j = array_count_values($i);
    Bon alors je sais prendre les donnée du mois en cours mais je ne vois pas comment faire pour les deux mois avant et surtout que les données erste afficher dans le tableau général
    Maintenat je suis peut-être a côtre des mes ponpe ou fatigué mais je ne vois pas comment faire

    Quand a mon tableau c'est un simple tableau qui reprend 12 mois exemple
    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
     
    <table class="style1" style="width: 100%">
    	<tr>
    		<td style="width: 82px">Septembre</td>
    		<td style="width: 87px">Octobre</td>
    		<td style="width: 92px">novembre</td>
    		<td style="width: 100px">Decembre</td>
    		<td>Janvier</td>
    		<td>Fevrier</td>
    		<td>Mars</td>
    		<td>Avril</td>
    		<td>Mai</td>
    		<td>Juin</td>
    		<td>Juillet</td>
    		<td>Aout</td>
    	</tr>
    	<tr>
    		<td style="width: 82px">&nbsp;</td>
    		<td style="width: 87px">&nbsp;</td>
    		<td style="width: 92px">&nbsp;</td>
    		<td style="width: 100px">&nbsp;</td>
    		<td>&nbsp;</td>
    		<td>&nbsp;</td>
    		<td>&nbsp;</td>
    		<td>&nbsp;</td>
    		<td>&nbsp;</td>
    		<td>&nbsp;</td>
    		<td>&nbsp;</td>
    		<td>&nbsp;</td>
    	</tr>
    </table>

  7. #7
    Membre chevronné Avatar de defcon_suny
    Homme Profil pro
    Non pas trop...
    Inscrit en
    Décembre 2006
    Messages
    441
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Non pas trop...
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Décembre 2006
    Messages : 441
    Par défaut
    Les données du mois sont à chaque fois écrasée dans ta boucle while.

    Il faudrait ou:
    faire un array_push de ton array_merge dans $i et dans ta boucle -> ensuite reparcourir le tableau pour l'affichage.
    ou le plus simple:
    une boucle sur les différents mois à l'intérieur une deuxième boucle sur tes résultats SQL. Si les mois coïncides... tu affiches.

    Qu'en penses-tu?

  8. #8
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    qu'entends-tu par "correctement" ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  9. #9
    Membre confirmé
    Inscrit en
    Juin 2006
    Messages
    215
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 215
    Par défaut
    L'idée est a partir de 5 champs MySQL extraire le nombre de pc pour chaque mois de l'année.
    Mon code mais je suis bloquer
    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
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
     
    $annee     = date('Y'); // Année de debut
    $anneeFin  = $annee +1 ; // l'an prochain
    $dateDebut = $annee.'-09-01'; // on va du 1er septembre
    $dateFin   = $anneeFin . '-06-30'; // jusqu'au 31 décembre de cette année
    $ms = '9';
    $mo = '10';
    $moisbebut = '10';
    $mois      = date('Y-'.$moisbebut.'-j');
    $septembre = $moisdebut;
    //echo $mois;
     
                                      $sqlmatos = "SELECT MONTH(date_enreg) AS mois,
                                                   sty_mod_1, sty_mod_2, sty_mod_3, sty_mod_4, equalizer
                                                   FROM ampli_lm
                                                   WHERE date_enreg BETWEEN '".$dateDebut."' AND '".$dateFin."'
     
                                              ";
                                 $result_matos = mysql_query($sqlmatos) or die ('Ne trouve pas toutes les données : '.mysql_error());
                                 $total_matos  = mysql_num_rows($result_matos);
                                 //$data         = mysql_fetch_array($result_matos);
     
                                  // Initilisation des tableaux
                                 $a = array(); $b = array(); $c = array(); $d = array(); $e = array(); $f = array(); $g = array();
     
     
                                  // Remplissage des tableaux
                                 while($row = mysql_fetch_array($result_matos)){
     
     
     
     
                                  $month_fr = 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 	=> 'Décembre');
    							   $month =  $month_fr[$row['mois']];
     
                                 #Données Mois
                                 $md1 =  $row['sty_mod_1'];
                                 $md2 =  $row['sty_mod_2'];
                                 $md3 =  $row['sty_mod_3'];
                                 $md4 =  $row['sty_mod_4'];
                                 //$md5 =  $row['sty_mod_5'];
                                 $md6 =  $row['equalizer'];
                                 $md7 =  $month;
     
                                 /*
                                 $md1 = (($row['mois']==date('n')) ? $row['sty_mod_1'] : "0");
                                 $md2 = (($row['mois']==date('n')) ? $row['sty_mod_2'] : "0");
                                 $md3 = (($row['mois']==date('n')) ? $row['sty_mod_3'] : "0");
                                 $md4 = (($row['mois']==date('n')) ? $row['sty_mod_4'] : "0");
                                 $md5 = (($row['mois']==date('n')) ? $row['sty_mod_5'] : "0");
                                 $md6 = (($row['mois']==date('n')) ? $row['sty_mod_6'] : "0");
                                 $md7 = (($row['mois']==date('n')) ? $row['equalizer'] : "0");
                                  */
     
                                 // Ajout des valeurs des champs dans les tableaux
                                array_push($a, $md1);
                                array_push($b, $md2);
                                array_push($c, $md3);
                                array_push($d, $md4);
                                //array_push($e, $md5);
                                array_push($f, $md6);
                                array_push($g, $md7);
                                }
     
     
                                $i  = array_merge($a,$b,$c,$d,$e,$f,$g);    // Fusion
                                $j = array_count_values($i);
     
     
     
                                             //Compte les données
     
     
     
     
     
                                 #Solde de article
                                 $solde856 = (750-$vgp856);
                                 $solde08  = (350-$vgu08);
                                 $solde40  = (500-$vgs40);
    Peut-être à cause de l'heure ?
    La seule solution horrible serais de crée une requete par mois mais il y a moyen de faire beaucoup mieux je suis sur

    D'avance merci

  10. #10
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    SELECT count(champ_que_tu_veux_compter) FROM table WHERE .... GROUP BY MONTH(date_enreg);
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

Discussions similaires

  1. [AJAX] Affichage données sur index
    Par stefde3 dans le forum jQuery
    Réponses: 2
    Dernier message: 14/01/2014, 19h46
  2. [OpenOffice][Tableur] Affichage données sur une même ligne.
    Par lestoss dans le forum OpenOffice & LibreOffice
    Réponses: 0
    Dernier message: 11/04/2012, 19h15
  3. affichage données sur page
    Par naje83 dans le forum Débuter
    Réponses: 1
    Dernier message: 27/03/2010, 18h25
  4. Réponses: 3
    Dernier message: 24/11/2008, 14h31
  5. ordre d'affichage des données sur un formulaire
    Par puppusse79 dans le forum Access
    Réponses: 5
    Dernier message: 20/09/2006, 15h07

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo