Précédent   Forum des professionnels en informatique > PHP > PHP & SGBD > PHP & MySQL
PHP & MySQL Forum d'entraide sur les fonctions MySQL avec PHP. Avant de poster -> FAQ MySQL, Cours MySQL et Sources MySQL. Pour les questions concernant le moteur MySQL plutôt que les fonctions PHP, merci d'utiliser le forum MySQL.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 07/07/2011, 17h06   #1
 
mahfoud beloufa
Inscription : juin 2010
Messages : 19
Détails du profil
Informations personnelles :
Nom : mahfoud beloufa

Informations forums :
Inscription : juin 2010
Messages : 19
Points : -6
Points : -6
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 :
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 :
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`
beloufa26 est déconnecté   Envoyer un message privé Réponse avec citation 03
Vieux 08/07/2011, 08h21   #2
Membre éclairé
 
Homme Jérémy
Étudiant
Inscription : octobre 2009
Messages : 236
Détails du profil
Informations personnelles :
Nom : Homme Jérémy
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 : 322
Points : 322
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.
gwharl est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 11/07/2011, 11h15   #3
 
mahfoud beloufa
Inscription : juin 2010
Messages : 19
Détails du profil
Informations personnelles :
Nom : mahfoud beloufa

Informations forums :
Inscription : juin 2010
Messages : 19
Points : -6
Points : -6
SALUT

svp tu peut me donner un exemple
beloufa26 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/07/2011, 16h45   #4
Membre éclairé
 
Homme Jérémy
Étudiant
Inscription : octobre 2009
Messages : 236
Détails du profil
Informations personnelles :
Nom : Homme Jérémy
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 : 322
Points : 322
Code :
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.
gwharl est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/07/2011, 16h53   #5
 
mahfoud beloufa
Inscription : juin 2010
Messages : 19
Détails du profil
Informations personnelles :
Nom : mahfoud beloufa

Informations forums :
Inscription : juin 2010
Messages : 19
Points : -6
Points : -6
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
beloufa26 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 03h57.


 
 
 
 
Partenaires

Hébergement Web