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 :

Tableau financier en PHP/MySQL


Sujet :

PHP & Base de données

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    72
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 72
    Points : 37
    Points
    37
    Par défaut Tableau financier en PHP/MySQL
    Bonjour,

    Dans Mysql, j'ai une table typique, avec id_paiement, id_client, montant et date.

    J'aimerais facilement pouvoir afficher sous forme de tableau l'ensemble des paiements réalisés, avec en ligne l'id_client, et en colonne le mois en cours.

    Le but est évidemment de pouvoir afficher cela de manière dynamique, en changeant facilement l'intervalle de temps : "afficher, par client, tous les paiements réalisés entre octobre 2008 et septembre 2009".

    J'avoue que je ne sais absolument pas par quoi commencer ni quoi regarder (même si vous avez des classes ou des bouts de docs, ils sont les bienvenus).

    Je vous remercie.
    D'habitude, je m'en sors pas mal pour des tableaux assez simples, mais là je sèche total.

  2. #2
    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
    Points : 44 155
    Points
    44 155
    Par défaut
    Il n'y a pas besoin d'une classe toute faite pour afficher le résultat d'une requete filtré sur 3 criteres.

    Tu en es ou de ton truc ?
    Il n'y a que 3 choses à faire :
    - un formulaire pour les criteres
    - une requete avec des conditions venant des criteres recus du formulaire
    - un tableau HTML presentant le resultat

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    72
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 72
    Points : 37
    Points
    37
    Par défaut
    En fait c'est uniquement le fait d'afficher le tableau html qui me pose pb.

    Je procède par étape, d'abord je mets des critères en PHP, que j'intègre dans la requête, et dans un second temps je fais le formulaire (ça ne me pose pas grand pb).

    Le champ date est au format date mysql, c'est-à-dire 2008-10-23

    En gros, j'ai commencé à faire ça :

    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
     
    <?php
    $debut = "2008-09-01";
    $fin = "2009-01-31";
     
    $sql = "SELECT paiements.id_paiement, paiements.date, paiements.montant, paiements.id_client, contacts.nom
    FROM paiements
    INNER JOIN contacts
    ON paiements.id_client = contacts.id
    WHERE paiements.date BETWEEN".$debut." AND ".$fin;
     
    $r = mysql_query($sql);
     
    if(mysql_num_rows($r)>0) {
    ?>
    <table>
    <tr>
    <th>octobre</th>
    <th>novembre</th>
    <th>decembre</th>
    //...
    </tr>
    <?php
     
    while($d=mysql_fetch_array($r)) {
    // et là je bloque total...
    }
     
    } // fin du if sur le num rows
    else
    {
    ?>
    <p>Aucun résultat à afficher...</p>
    <?php
    }
    Comment faire en sorte pour qu'il affiche automatiquement le nombre de cellules correspondant au nombre de mois ? Je m'explique :
    entre janvier 2008 et avril 2008, il y a 4 mois (ces deux mois compris). J'aimerais qu'il affiche 4 fois le <td>, si il y a 9 mois, j'aimerais qu'il affiche 9 colonnes... Etc.
    Et autre chose, comment faire pour qu'il affiche le bon résultat dans la bonne cellule, càd que pour le client DIDI, il affiche bien le bon montant en janvier ?

    J'ai commencé à regarder du côté des array mais je baisse les bras.

    Merci

  4. #4
    Membre habitué
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    302
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 302
    Points : 141
    Points
    141
    Par défaut
    Bonjour,

    Je ne suis pas sur à 100% mais je pense que pour ton nombre de mois il faudrait faire une boucle for.

    Ensuite dans ton tableau il faudrait que tu utilises la structure : et ainsi de suite pour toutes tes données a mettre dans ton tableau.

    J'espère n'avoir pas dit trop d'âneries.

    Kevin

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    72
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 72
    Points : 37
    Points
    37
    Par défaut
    Merci,

    Je comprends bien cette structure de base, mais comment faire pour afficher les bons montants, aux bons endroits ?

  6. #6
    Membre habitué
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    302
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 302
    Points : 141
    Points
    141
    Par défaut
    Je ne comprends pas quand vous dites afficher le bon montant aux bons endroits. Ils sont enregistrés dans la base mysql?

    Si oui il y a juste a les récupérer.

  7. #7
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    72
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 72
    Points : 37
    Points
    37
    Par défaut
    Oui ils sont dans la base.

    C'est justement le fait d'afficher les informations qui me pose problème.

    Peux-tu m'écrire un bout de code stp ?

  8. #8
    Membre expert
    Avatar de ThomasR
    Homme Profil pro
    Directeur technique
    Inscrit en
    Décembre 2007
    Messages
    2 230
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2007
    Messages : 2 230
    Points : 3 972
    Points
    3 972
    Par défaut
    Bonsoir, tu veux juste afficher le montant ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo $d['paiements.montant'];

  9. #9
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    72
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 72
    Points : 37
    Points
    37
    Par défaut
    Merci, mais comme dit, pour cela je n'ai pas de problème.

    Concrètement, comment afficher :

    Id_client en ligne, mois en colonne et montant à l'intersection ?

  10. #10
    Membre expert
    Avatar de ThomasR
    Homme Profil pro
    Directeur technique
    Inscrit en
    Décembre 2007
    Messages
    2 230
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2007
    Messages : 2 230
    Points : 3 972
    Points
    3 972
    Par défaut
    Tu veux juste faire une boucle ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    while($row = mysql_fetch_array($sql_query))
        {
        echo '<tr>';
        for($i=0;$i<count($row);$i++)
            {
            echo '<td>'.$row[$i].'</td>';
            }
        echo '</tr>';
        }

  11. #11
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    72
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 72
    Points : 37
    Points
    37
    Par défaut
    Exact, cela marche bien mais ça n'affiche pas le résultat que je désire :

    ça affiche :

    au lieu d'afficher les montants par mois, il affiche :

    dans la première colonne : tous les id_client
    dans la seconde colonne : tous les noms des clients,
    dans la troisième colonne : tous les montants,

    etc.

    Moi je ne recherche pas ça, je veux que dans la colonne il affiche :
    tous les paiements du mois d'octobre
    2eme colonne : tous les paiements du mois de novembre
    3eme colonne : tous les paiements du mois de décembre

    Bien entendu, chaque ligne correspond aux paiements effectués par un client.

    Regardez en PJ :

    La première PJ est ce qu'il me sort actuellement, ce dont je ne veux pas.
    La deuxième PJ est ce que je veux.
    Images attachées Images attachées   

  12. #12
    Membre expert
    Avatar de ThomasR
    Homme Profil pro
    Directeur technique
    Inscrit en
    Décembre 2007
    Messages
    2 230
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2007
    Messages : 2 230
    Points : 3 972
    Points
    3 972
    Par défaut
    Dans ce cas pourquoi écris-tu ca :

    <tr>
    <th>id_paiement</th>
    <th>date</th>
    <th>montant</th>
    <th>id_client</th>
    <th>nom_client</th>
    </tr>

    ?

  13. #13
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    72
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 72
    Points : 37
    Points
    37
    Par défaut
    Oulaaaaaaa

    Complètement désolé, j'avais oublié ça.

    Je comprends enfin d'où me vient cet étrange sentiment de solitude...

    Je vais vite corriger cela.

    Edit : ça y est c'est corrigé. Personne ne peut m'aider ?

Discussions similaires

  1. [FPDF] problème tableau FPDF en PHP/MySQL
    Par ZeRedDiamond dans le forum Bibliothèques et frameworks
    Réponses: 2
    Dernier message: 23/03/2015, 09h11
  2. [MySQL] Tableau 2 dimension php\MySql
    Par enamorada dans le forum PHP & Base de données
    Réponses: 11
    Dernier message: 25/11/2012, 17h47
  3. [MySQL] Tableau dynamique via Php/Mysql quel format d'exportation choisir?
    Par xeloch dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 05/04/2012, 09h43
  4. [SGBD] [PHP/MySQL Query]Quelle est la taille du tableau retourné?
    Par Jean_Benoit dans le forum SQL Procédural
    Réponses: 8
    Dernier message: 07/10/2005, 20h10

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