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 :

Mise en forme de table d'une requête php


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau candidat au Club
    Homme Profil pro
    Webmaster
    Inscrit en
    Juin 2023
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Juin 2023
    Messages : 2
    Par défaut Mise en forme de table d'une requête php
    Bonjour à tous,
    Grand débutant, j'ai fait le pari fou de créer mon propre site web pour afficher en iigne les données de la station météo que je possède. Je m'autoforme grâce à plusieurs sites internet.
    J'aurais besoin de votre aide pour me donner une piste afin de réaliser mon projet.
    Ma station envoie ses données toutes les 5 minutes à ma base sql :
    Nom : Capture.PNG
Affichages : 138
Taille : 24,5 Ko
    Le champ "datelocale" est au format AAAAMMJJHHMM

    Je souhaite pouvoir afficher les pluviométries mensuelles sous forme de table html comme ceci :
    Nom : Capture1.PNG
Affichages : 115
Taille : 6,4 Ko

    J'ai fait la requête suivante qui m'affiche les bonnes valeurs mensuelles :
    Nom : Capture2.PNG
Affichages : 123
Taille : 34,2 Ko

    Je bloque complètement pour le passage en mode colonne des différents mois.
    Une âme charitable pourrait m'orienter vers la solution ?
    Merci d'avance
    Phil

  2. #2
    Expert confirmé
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 325
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 325
    Billets dans le blog
    17
    Par défaut
    Le champ "datelocale" est au format AAAAMMJJHHMM
    Avant d'aller plus loin commence par utiliser les bons types de colonnes, c'est extrêmement important.
    Ici ta colonne doit être typée DATETIME, et rien d'autre.
    Cela permet de remplacer tes SUBSTR() par les fonctions temporelles spécifiques YEAR(), EXTRACT(), etc.

    Il faut valider le type de toutes tes colonnes et éviter les doublons, par exemple je vois datetimeUTC et datetimelocale, avec datelocale tu as 3 colonnes qui représentent la même chose => L'heure de relève, et c'est trop, limite-toi à 1 colonne

    Revenons au cœur de ta question, tu veux pivoter tes lignes en colonnes, il y a 2 grandes stratégies :
    -- Faire le pivot en SQL
    -- Faire le pivot en PHP => Tu débutes, il vaut mieux commencer par là

    J'ai créé une fonction array_pivot() disponible ici => https://gist.github.com/sfaut/f69039...ed9c347b176d26

    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
    // $data est un tableau contenant le résultat de te requête SQL tel que présenté plus haut
    // Le 2e paramètre est le nom de la colonne SQL placé en ligne
    // Le 3e paramètre est le nom de la colonne SQL placé en colonne
    // Le 4e paramètre est le nom de la colonne SQL placé en valeur
    // Le 5e paramètre les la valeur par défaut
    $table = array_pivot($data, 'année', 'mois', 'pluie', '--');
     
    // Obtiendra quelque chose comme
    print_r($table);
     
    /*
    [
        '2021' => [
            '01' => '--',
            ...
            '09' => '8.8',
            '12' => '226.8',
        ],
        ...
        '2023' => [
            '01' => '514.4',
            ...
            '12' => '--',
        ],
    ]
    */
    Il te suffira de boucler sur $table pour afficher ton tableau HTML.

    Si tu bloques donne-nous tes tentatives et un jeu de données utilisable.

  3. #3
    Nouveau candidat au Club
    Homme Profil pro
    Webmaster
    Inscrit en
    Juin 2023
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Juin 2023
    Messages : 2
    Par défaut
    Merci Séb pour ton retour rapide. Je vais me pencher dessus le weekend prochain.
    Je te tiens au courant
    Phil

Discussions similaires

  1. Mise en forme des résultats d'une requête
    Par mhamedbj dans le forum VBA Access
    Réponses: 5
    Dernier message: 04/06/2008, 16h44
  2. Mise en forme du résultat d'une requête
    Par BlackMinou dans le forum Oracle
    Réponses: 1
    Dernier message: 21/11/2006, 18h11
  3. Cosmétique - mise en forme du résultat d'une requête
    Par habasque dans le forum Langage SQL
    Réponses: 0
    Dernier message: 30/10/2006, 17h25
  4. [MySQL] Mise en forme du résultat d'une requête
    Par heteroclite dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 27/09/2006, 22h08
  5. Forcer la mise en forme des champs d'une TABLE
    Par dunbar dans le forum SQL Procédural
    Réponses: 2
    Dernier message: 11/08/2006, 01h07

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