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 :

Formulaire pour éditer une facture


Sujet :

PHP & Base de données

  1. #1
    Nouveau Candidat au Club
    Inscrit en
    Juin 2010
    Messages
    19
    Détails du profil
    Informations forums :
    Inscription : Juin 2010
    Messages : 19
    Points : 1
    Points
    1
    Par défaut Formulaire pour éditer une facture
    svp je veut maintenant creer une fiche facture
    qui se compose de tableaux
    voila l'exemple de facture dans ce lien

    j'ai auqune aider
    j'ai creer un fichier qui affiche tous les articles de la table article

    j'ai volu m'inspirer de ce fichier mais franchement j'ai occune aidé ou je doit commancer sachant que dans la chaque facture doit etre plusieur article si ta une aider svp au moin orien moi ou donne moi un exemple
    je te donne le fichier qui affiche l'article et la table facture
    svp si vous avez une aider comment etablir un formulaire simple pour facture je suis la j'ai vraiment occune aidé je ne sais pas par ou commencer
    fpageart.php
    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
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
     
    <?php
    mysql_connect("localhost", "root", "");
    mysql_select_db("bdd");
     
    //Nombre d'élément par page
    $messagesParPage=7;
    //Nous récupérons le contenu de la requête dans $retour_total
    $retour_total = mysql_query("SELECT COUNT(*) AS id_art FROM article");
    //On range $retour_total sous la forme d'un tableau.
    $donnees_total=mysql_fetch_assoc($retour_total); 
    //On récupère le total pour le placer dans la variable $total. $total correspond au nombre total de commentaires
    $total=$donnees_total['id_art']; 
    echo 'Nombre de message : '.$total.'<br/>';
    //Nous allons maintenant compter le nombre de pages. On fait donc une simple division . 
    //ceil —>Arrondit le chiffre au nombre supérieur si il n'est pas entier
    $nombreDePages=ceil($total/$messagesParPage);
    echo 'Nombre de page : '.$nombreDePages.'<br/>';
    // Si la variable $_GET['page'] existe...
    if(isset($_GET['page'])) 
    {
    //$pageActuelle correspond au numéro de la page ou l'on se trouve. 
    //intval —  Retourne la valeur numérique entière équivalente d'une variable 
         $pageActuelle=intval($_GET['page']);
         echo 'On se trouve sur la page numéro : '.$pageActuelle.'<br/>';
    // Si la valeur de $pageActuelle (le numéro de la page) est plus grande que $nombreDePages...     
         if($pageActuelle>$nombreDePages) 
         {
              $pageActuelle=$nombreDePages;
         }
    }
    else // Sinon
    {
         $pageActuelle=1; // La page actuelle est la n°1    
    }
    // On calcul la première entrée à lire
    $premiereEntree=($pageActuelle-1)*$messagesParPage; 
    echo 'Première entrée : '.$premiereEntree.'<br/>';
    //Si il n'y a rien
     if($total == 0){
     echo '<p><strong>Aucun article pour le moment :(!</strong></p>';
     }
     else
     {
    // La requête sql pour récupérer les articles de la page actuelle.
    $retour_messages=mysql_query('SELECT * FROM article ORDER BY id_art ASC LIMIT '.$premiereEntree.', '.$messagesParPage.'');
    //fin de la 1ere partie de la pagination
    // début du tableau
    {
        echo '<fieldset><legend><big class="t"><b>Tableau affichage</b></big></legend><table bgcolor="#999999" align="center">'."\n";
            // première ligne on affiche les titres item article,item famille article dans 4 colonnes
            echo '<tr>';
            echo '<td bgcolor="#7FAFC3"><b><u>Code article</u></b></td>';
            echo '<td bgcolor="#7FAFC3"><b><u>famille article </u></b></td>';
            echo '<td bgcolor="#7FAFC3"><b><u>nom article </u></b></td>';
            echo '<td bgcolor="#7FAFC3"><b><u>prix.U article </u></b></td>';
     
            echo '<td colspan="2" align="center"  bgcolor="#7FAFC3"><b><u>Action</u></b></td>';
            echo '</tr>'."\n";
    // lecture et affichage des résultats sur 2 colonnes, 1 résultat par ligne.    
    while($row=mysql_fetch_assoc($retour_messages))
     {
     
       echo '<tr>';
            echo '<td bgcolor="#CCCCCC">'.$row['id_art'].'</td>';
            echo '<td bgcolor="#CCCCCC">'.$row['id_fam'].'</td>';
            echo '<td bgcolor="#CCCCCC">'.$row['n_art'].'</td>';
            echo '<td bgcolor="#CCCCCC">'.$row['p_u_art'].'</td>';
     
            echo '<td><form method="get" action="p.php">
    
    <input type="hidden" name="id" value="'.$row['id_art'].'" />
    <input type ="submit" value="supprimer" />
    </form></td>';
     
           echo '<td><form method="get" action="modifier.php">
    
    <input type="hidden" name="id" value="'.$row['id_art'].'" />
    <input type ="submit" value="modifier" />
    </form></td>';
            echo '</tr></fieldset>'."\n";
     
     }
     
        echo '</table>'."\n";
     }
    //pagination 2ieme partie
    //Pour l'affichage, on centre la liste des pages 
    echo '<div align="center">Page : '; 
    //Cette partie affiche uniquement Suivant et Précédent
    $suivant=$pageActuelle+1;
    $precedent=$pageActuelle-1;
     
    if($precedent>=1){
    echo '<a href="'.$_SERVER['PHP_SELF'].'?page='.$precedent.'">Précédent - </a>';
    }
    if($suivant<=$nombreDePages){
    echo '<a href="'.$_SERVER['PHP_SELF'].'?page='.$suivant.'">Suivant</a>';
    }
    echo '<br/>';
    //Cette partie affiche une pagination complète de toutes les pages
    for($i=1; $i<=$nombreDePages; $i++) //On fait notre boucle
    {
         //On va faire notre condition
         if($i==$pageActuelle) //Si il s'agit de la page actuelle...
         {
             echo ' [ '.$i.' ] '; 
         }    
         else //Sinon...
         {
              echo ' <a href="'.$_SERVER['PHP_SELF'].'?page='.$i.'">'.$i.'</a> ';
         }
    }
    echo '</div>';
    //fin pagination 2ieme partie
     mysql_close();
     
     }
    ?>
    et la table facture

    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
     
    -- Structure de la table `facture`
    --
     
    CREATE TABLE IF NOT EXISTS `facture` (
      `ID_fa` int(11) NOT NULL AUTO_INCREMENT,
      `id_reg` int(11) NOT NULL,
      `id_bl` int(11) NOT NULL,
      `id_cli` int(11) NOT NULL,
      `id_tv` int(11) NOT NULL,
      `id_tfa` int(11) NOT NULL,
      `t_fa` varchar(25) NOT NULL,
      `d_fa` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
      `h_fa` time NOT NULL,
      `q_fa` int(11) NOT NULL,
      `ht_fa` decimal(10,0) NOT NULL,
      `TVA_fa` decimal(10,0) NOT NULL,
      `ttc_fa` decimal(10,0) NOT NULL,
      `ti_fa` decimal(10,0) NOT NULL,
      PRIMARY KEY (`ID_fa`),
      UNIQUE KEY `id_reg` (`id_reg`,`id_bl`,`id_cli`,`id_tv`,`id_tfa`)
    ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;
     
    --
    -- Contenu de la table `facture`

  2. #2
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2009
    Messages
    236
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Octobre 2009
    Messages : 236
    Points : 348
    Points
    348
    Par défaut
    Tu doit structurer ta base de façon à avoir une table facture, une table article facture qui contiendra un id article et un id facture et tu chargera tout les article dont l'id article est dans article facture ou l'id facture est égal à l'id facture que tu renseignera.
    Pensez à la balise [CODE].
    Aucune réponse aux questions par MP.

  3. #3
    Nouveau Candidat au Club
    Inscrit en
    Juin 2010
    Messages
    19
    Détails du profil
    Informations forums :
    Inscription : Juin 2010
    Messages : 19
    Points : 1
    Points
    1
    Par défaut
    SALUT

    svp tu peut me donner un exemple

  4. #4
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2009
    Messages
    236
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Octobre 2009
    Messages : 236
    Points : 348
    Points
    348
    Par défaut
    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
    -- phpMyAdmin SQL Dump
    -- version 3.3.7deb5
    -- http://www.phpmyadmin.net
    --
    -- Serveur: localhost
    -- Généré le : Lun 11 Juillet 2011 à 16:43
    -- Version du serveur: 5.1.49
    -- Version de PHP: 5.3.3-7+squeeze1
     
    SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";
     
     
    /*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
    /*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
    /*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
    /*!40101 SET NAMES utf8 */;
     
    --
    -- Base de données: `test`
    --
    CREATE DATABASE `test` DEFAULT CHARACTER SET latin1 COLLATE latin1_swedish_ci;
    USE `test`;
     
    -- --------------------------------------------------------
     
    --
    -- Structure de la table `facture`
    --
     
    CREATE TABLE IF NOT EXISTS `facture` (
      `id_facture` int(11) NOT NULL,
      PRIMARY KEY (`id_facture`)
    ) ENGINE=MyISAM DEFAULT CHARSET=latin1;
     
    --
    -- Contenu de la table `facture`
    --
     
    INSERT INTO `facture` (`id_facture`) VALUES
    (1),
    (2);
     
    -- --------------------------------------------------------
     
    --
    -- Structure de la table `produit`
    --
     
    CREATE TABLE IF NOT EXISTS `produit` (
      `id_produit` int(11) NOT NULL,
      `libelle_produit` varchar(20) NOT NULL,
      PRIMARY KEY (`id_produit`)
    ) ENGINE=MyISAM DEFAULT CHARSET=latin1;
     
    --
    -- Contenu de la table `produit`
    --
     
    INSERT INTO `produit` (`id_produit`, `libelle_produit`) VALUES
    (1, 'mp3'),
    (2, 'souris'),
    (3, 'ecran'),
    (4, 'chaise'),
    (5, 'clavier');
     
    -- --------------------------------------------------------
     
    --
    -- Structure de la table `produit_facture`
    --
     
    CREATE TABLE IF NOT EXISTS `produit_facture` (
      `id_facture` int(11) NOT NULL,
      `id_produit` int(11) NOT NULL
    ) ENGINE=MyISAM DEFAULT CHARSET=latin1;
     
    --
    -- Contenu de la table `produit_facture`
    --
     
    INSERT INTO `produit_facture` (`id_facture`, `id_produit`) VALUES
    (1, 1),
    (1, 3),
    (1, 4),
    (2, 1),
    (2, 2);
    utilise ce sql dans ton SGBD et tu comprendra l'idée.
    Pensez à la balise [CODE].
    Aucune réponse aux questions par MP.

  5. #5
    Nouveau Candidat au Club
    Inscrit en
    Juin 2010
    Messages
    19
    Détails du profil
    Informations forums :
    Inscription : Juin 2010
    Messages : 19
    Points : 1
    Points
    1
    Par défaut
    merci pour les table je commence a pigé
    mon problem c la structure du formulaire
    comment je puise valider plusieur article dans une seul facture c'est ca mon probleme c que je ne sais pas comment structurer le formulaire
    si ta un exemple simple ca sera genial et merci d'avance

Discussions similaires

  1. [MySQL] Formulaire pour interroger une BBD, à partir d'un site
    Par Sam_Dalembert dans le forum PHP & Base de données
    Réponses: 18
    Dernier message: 25/01/2008, 13h49
  2. [MySQL] formulaire pour effectuer une recherche
    Par mariafan dans le forum PHP & Base de données
    Réponses: 7
    Dernier message: 31/07/2007, 15h37
  3. Réponses: 2
    Dernier message: 11/07/2007, 12h26
  4. pb avec un formulaire pour obtenir une image
    Par maxsurf dans le forum IHM
    Réponses: 2
    Dernier message: 05/07/2007, 09h59
  5. Recherche d'un outil pour éditer une police True Type
    Par annedeblois dans le forum Windows
    Réponses: 2
    Dernier message: 31/10/2005, 14h06

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