Comment concevoir avec PHP/MySQL un système de gestion de budget

K_Fitzger Messages postés 2 Statut Membre -  
 K_Fitzger -
Bonsoir à toutes et à tous.
Je voudrais mettre en place un système de gestion de budget personnel sur une plate forme web PHP/MySQL. C'est un projet de classe puisque encore étudiant.
J'ai une connaissance vague du sujet et ne sait comment commencer. Mon projet est à rendre dans 2 semaines, un vrai dur labeur pour quelqu'un qui ne connait pas grand chose en PHP.
Alors quelqu'un ici peut-il me voler au secours, en me donnant des idées et quelques exemples.
Merci pour votre aide.
Cordialement.

1 réponse

  1. DelNC Messages postés 2360 Statut Membre 2 010
     
    Bonjour K_Fitzger

    commencer déjà par faire la liste des éléments dont tu as besoin dans l abase de données. Sinon je ne peux pas t'aider pour cà.

    Après je t'aiderai pour la connexion à la base de données et je t'expliquerai comment faire les formulaires afin de remplir les tables

    @+
    0
    1. K_Fitzger Messages postés 2 Statut Membre
       
      Merci DeINC
      Voici une Liste d'éléments possibles pour la base que j'ai faite.

      2016
      DÉPENSES
      DÉPENSES FIXES
      Loyer
      Electricité
      Gaz
      Abonnement Internet
      Cotisations
      DÉPENSES COURANTES
      Alimentation
      Frais de Cantine
      Frais de restauration divers
      Transport
      Journal
      Savon
      crème
      Parfum
      Habits
      Chaussures
      Cravates
      DÉPENSES EXCEPTIONNELLES
      Epargne de Précaution
      Imprévues
      Santé

      RECETTES
      Bourses
      Aides Familiales
      Emprunts
      Retour sur prêt
      Petites activités génératrices de revenus

      A+
      0
    2. DelNC Messages postés 2360 Statut Membre 2 010
       
      Bonjour K_Fitzger

      Pour certains éléments comme Abonnement Internet , Cotisations , Journal , ....
      si tu as besoin d'avoir le détails il faut faire une tables par éléments

      exemple table internet
      id_abonnement
      nom
      debit
      prix
      duree_contrat

      TRES IMPORTANT
      Dans toutes tes tables il faut une clé primaire. Un élément qui rend unique chaque ligne du tableau.
      Généralement c'est un numéro qui s"incrémente automatiquement.

      Ensuite si tu as besoin de regrouper plusieurs tables dans la même, il faut utiliser tes clé primaire.

      Exemple tu as la table Users
      id_user
      nom
      prenom, .....

      la table restauration
      id_restauration
      designation

      la table User_Resto
      id_ User_Resto
      id_user
      id_restauration

      Dans le nom des tables et des colonnes il est préférable de ne pas mettre de caractères accentués ni despace. Cela peut engendrer des erreurs lors des requêtes sql.

      Question : as tu besoin d'avoir le détail du budget, exemple il y a besoin d'avoir par exemple combein a été dépensé pour des jeans, des chaussures, .. ou c'est global ?


      Pour la suite, je te ferai un model de formulaire et de connexion à la base de données
      0
    3. K_Fitzger > DelNC Messages postés 2360 Statut Membre
       
      Non j'en veux pour la dépense globale, beuh s'il ya lieu de spécifier pour les trois types de dépenses sus-mentionnés ce sera bien. Merci d'avance. là je mets donc au boulot pour les tables. A+
      0
    4. K_Fitzger
       
      salut chef
      Me voici de retour après un bon moment de débrouillardise, j'aurai pu t'écrire un peu plus tot mais j'ai eu un souci avec mon abonnement internet. bref voila comment j'ai pu établir mon MCD: j'ai finalement regroupé les entités en les trois types de dépenses, ce qui me fait 3 tables depenses en plus de la table user et la table recette. les cardinalites de mes associations (au nombre de 4: posseder pour recette, effectuer pour depfix,faire pour depcour, realiser pour depexcep) sont de types 1 à plusieurs ou 0 à plusieurs de part et d'autres puisque mes associations sont porteuses de propriétés (date et lieu). pas d'associations hiérarchiques. Ce qui fait que j'ai un MPD de 9 tables à implementer avec mon PhpMyadmin. voilà tout pr le moment. Je sais pas suis sur la bonne voix sinon qu'est ce qu'il faut améliorer et quelle est l'étape suivante.
      Merci A+
      0
    5. DelNC Messages postés 2360 Statut Membre 2 010
       
      Bonjour

      voilà un exemple de formulaire simple
      <?php                              						
      echo "<form method='post' action='clients_rajout_page.php'>\n";
      echo "<table>\n";
      echo " <tr><td> Nom </td><td><input type='text' name='nom_client'></td></tr>\n";
      echo " <tr><td> Adresse </td><td><input type='text' name='adresse_client'></td></tr>\n";
      echo " <tr><td> Mail </td><td><input type='text' name='mail_client'></td></tr> \n";
      echo " <tr><td></td><td><input type='submit'></td></tr>\n";
      echo "</table>\n";
      echo "</form>\n";
      ?>


      NB method = c'est le moyen utiliser pour envoyer les données
      action = la page où tu envoie les données

      Quand on fait un formulaire, il faut faire attention on nom des champs. Il faut qu'ils soient uniques.

      Voilà comment récupérer les données. Dans mon exemple, c'est la page

      <?php 
      if(isset($_REQUEST["nom_client"])) {$nom_client = $_REQUEST["nom_client" ];}
      else {$nom_client = "";}
      if(isset($_REQUEST["adresse"])) {$adresse_client= $_REQUEST["adresse_client" ];}
      else {$adresse_client = "";}
      if(isset($_REQUEST["mail" ])) {$mail_client = $_REQUEST["mail_client"];}
      else {$mail_client= "";}
      ?>


      Pour insérer dans la table
      <?php
      echo "<h2>Client créé.</h2>\n";
      $query = "INSERT INTO clients (id_client, nom_client, adresse, mail)
      VALUES (NULL , '$nom_client', '$adresse','$mail) ;";
      execute_query($query);
      ?>


      Pour la connexion à la base de données
      <?php
      $BDD_ADRESSE = "mysql:host=127.0.0.1"; si le site est sur ton pc
      $BDD_DBNAME = "MaBase";
      $BDD_LOGIN = "root";
      $BDD_PASSWORD = ""; mettre le mot de passe si besoin

      // connexion à la base de données
      try {
      $bdd = new PDO("$BDD_ADRESSE;dbname=$BDD_DBNAME", $BDD_LOGIN, $BDD_PASSWORD);
      } catch(Exception $e) {
      exit('Connexion Impossible.');
      }

      // exécution de la requête
      $resultat = $bdd->query($requete) or die(print_r($bdd->errorInfo()));
      ?>
      0