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
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
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(); } ?>
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`
Partager