Facture avec php mysql

nahac83 -  
Infaustus Messages postés 256 Statut Membre -
Bonjour,

SVP,
j'aimerai savoir comment faire une facture avec php at une base de donnee Mysql.
quelqu'un peut il m'aider

2 réponses

  1. Siluni
     
    2 tables MySQL

    1 table intitule qui va contenir :
    ID
    code_client
    numero_facture
    date => date de facturation
    nom => nom du client
    prenom => prenom du client
    adresse => adresse postal
    cp
    ville
    reference => (souvent on met periode du XX au XX)
    total => montant total de la facture (sa evite des calcul par la suite :) )

    1 table contenu qui contient les articles
    ID
    id_facture
    ref_article
    designation_articles
    prix_article (HT ou TTC au choix => le mieu est HT :) )
    qt_article
    tva_article

    il me semble qu'il manque quelque champ, ça fait longtemps que j'ai pas eu a refaire mon système de facture en ligne
    0
  2. nahac83
     
    bonjour
    Merci de votre aide
    Pour les table je les deja faites mais concernant le programme php qui permet d'elaborer la facture c'est ici que se pose le vrai probleme.
    Merci d'avance
    0
    1. Infaustus Messages postés 256 Statut Membre 16
       
      Bonjour :)
      Voici comment vous pourriez faire :


       <?
      // information pour la connection à le DB
      $host = 'localhost';
      $user = 'nomuser';
      $pass = 'motdepasse';
      $db = 'nomdeladbfacture;
      
      // connection à la DB
      $link = mysql_connect ($host,$user,$pass) or die ('Erreur : '.mysql_error() );
      mysql_select_db($db) or die ('Erreur :'.mysql_error());
      
      // requête SQL qui compte le nombre total d'enregistrement dans la table et qui
      //récupère tous les enregistrements
      $select = "SELECT id,statut,email,civilite,nom,prenom,adresse,codepostal,ville,pays,telephone,telephoneportable FROM factures";
      $result = mysql_query($select,$link) or die ('Erreur : '.mysql_error() );
      $total = mysql_num_rows($result);
      
      
      // si on a récupéré un résultat on l'affiche.
      if($total) {
          // debut du tableau
          echo '<table bgcolor="#FEFEFE" width="100%">'."\n";
              // première ligne on affiche les titres prénom et surnom dans 2 colonnes
              echo '<tr>';
               echo '<td bgcolor="#1C1D1D"><font color="#FE0000"><b><center>ID</b></center></font></td>';
                echo '<td bgcolor="#1C1D1D"><font color="#FE0000"><b><center>Statut</b></center></font></td>';
              echo '<td bgcolor="#1C1D1D"><font color="#FE0000"><b><center>Email</b></center></font></td>';
              echo '<td bgcolor="#1C1D1D"><font color="#FE0000"><b><center>Civilité</b></center></font></td>';
            echo '<td bgcolor="#1C1D1D"><font color="#FE0000"><b><center>Nom</b></center></font></td>';
              echo '<td bgcolor="#1C1D1D"><font color="#FE0000"><b><center>Prénom</b></center></font></td>';
               echo '<td bgcolor="#1C1D1D"><font color="#FE0000"><b><center>Adresse</b></center></font></td>';
                echo '<td bgcolor="#1C1D1D"><font color="#FE0000"><b><center>Code Postal</b></center></font></td>';
                 echo '<td bgcolor="#1C1D1D"><font color="#FE0000"><b><center>Ville</b></center></font></td>';
                  echo '<td bgcolor="#1C1D1D"><font color="#FE0000"><b><center>Pays</b></center></font></td>';
                   echo '<td bgcolor="#1C1D1D"><font color="#FE0000"><b><center>Téléphone</b></center></font></td>';
               echo '<td bgcolor="#1C1D1D"><font color="#FE0000"><b><center>Téléphone Portable</b></center></font></td>';
            echo '</tr>'."\n";
          // lecture et affichage des résultats sur 2 colonnes, 1 résultat par ligne.    
          while($row = mysql_fetch_array($result)) {
              echo '<tr>';
              echo '<td bgcolor="#D3D4D4"><center>'.$row["id"].'</center></td>';
              echo '<td bgcolor="#D3D4D4"><center>'.$row["statut"].'</center></td>';
              echo '<td bgcolor="#D3D4D4"><center>'.$row["email"].'</center></td>';
              echo '<td bgcolor="#D3D4D4"><center>'.$row["civilite"].'</center></td>';
            echo '<td bgcolor="#D3D4D4"><center>'.$row["nom"].'</center></td>';
              echo '<td bgcolor="#D3D4D4"><center>'.$row["prenom"].'</center></td>';
              echo '<td bgcolor="#D3D4D4"><center>'.$row["adresse"].'</center></td>';
              echo '<td bgcolor="#D3D4D4"><center>'.$row["codepostal"].'</center></td>';
              echo '<td bgcolor="#D3D4D4"><center>'.$row["ville"].'</center></td>';
              echo '<td bgcolor="#D3D4D4"><center>'.$row["pays"].'</center></td>';
              echo '<td bgcolor="#D3D4D4"><center>'.$row["telephone"].'</center></td>';
              echo '<td bgcolor="#D3D4D4"><center>'.$row["telephoneportable"].'</center></td>';
            echo '</tr>'."\n";
          }
          echo '</table>'."\n";
          // fin du tableau.
      }
      else echo '';
      
      // on libère le résultat
      mysql_free_result($result);
      
      ?>


      Explication: cela affiche des données MySQL dans un tableau et met automatiquement les données si vous mettez des données en plus dans MySQL.

      Ensuite, si c'est avec une session membre, remplacez :

      $host = 'localhost';
      $user = 'microheb_mo6';
      $pass = 'hardcore2009';
      $db = 'microheb_membres';
      $email = $_SESSION["email"];


      Et :
      $select = "SELECT id,statut,email,civilite,nom,prenom,adresse,codepostal,ville,pays,telephone,telephoneportable FROM factures WHERE email='$email'";

      Script de session :
      ?
      <?php
      session_start();
      // on vérifie toujours qu'il s'agit d'un membre qui est connecté
      if (!isset($_SESSION['email'])) {
              // si le membre n'est pas connecté, on le redirige vers l'accueil
              header ('Location: /index.html');
              exit();
      }
      ?>


      A vous de faire ensuite le nécessaire pour un formulaire DONT vous seul aura accès et pourra le remplir, cette méthode est rapide. Je l'utilise pour mon propre site de ventes, bon courage. N'oubliez pas dans la DB de mettre "email" pour que seul l'acheteur puisse voir sa facture ;)
      0