[FPDF] Génération bon de commande
Bonjour j'ai plusieurs questions :
Je suis en train de réaliser un système de bon de commande et j'aimerai que a la fin de l'utilisation, l'utilisateur puisse cliquez sur un bouton pour générer son bon de commande en pdf. Dans cette génération il faut que les infos rentrées par l'utilisateur apparaissent. Donc je coince pour savoir comment récupérer les valeurs sans l'utilisation dune BDD MYSQL. Je pense utiliser la classe fpdf mais je ne vois comment récupérer sans BDD
Un petit exemple serait le bienvenu....
Voici le script en question :
Code JS :
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
| <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html;charset=iso-8859-1">
<TITLE>Bon de commande </TITLE>
<SCRIPT LANGUAGE="JavaScript">
<!--
//-- si changement de tva, seule change cette ligne ---------
function calculTotal(letter)
{
var Quantite = parseFloat(document.getElementById("Quantite" + letter).value);
var Prix = parseFloat(document.getElementById("Prix" + letter).value);
if (Quantite != "" && Prix != "")
{
document.getElementById("Total" + letter).value = Quantite * Prix;
}
calculMontant();
}
function test_champ(champ) {
expr_reg = /^\d*$/ ;
// Ci-dessus : expression régulière qui match 0,1 ou plusieurs chiffres ;
// de cette façon on vérifie que l'utilisateur entre bien un nombre entier
if ( expr_reg.test(champ.value) ) {
// c'est bien un nombre entier
calcul_form() ;
} else {
// ce n'est pas un nombre entier
alert ("Ce n'est par un nombre entier !") ;
document.form1.elements[champ.name].value = "" ; // on efface la valeur entrée erronée
calcul_form() ;
}
}
function calculMontant() {
var total = 0,
value = null,
champs = "ABCDEFGHIJK".split(""),
// ça fait plus court sur la fin :p
tva = parseFloat(document.getElementById("tva").value, 10);
for (var i=0, il = champs.length; i < il; i++) {
value = document.getElementById("Total"+champs[i]).value;
if (!isNaN(value)) {
total += parseFloat(value);
}
}
document.getElementById("montant").value = total.toFixed(2);
document.getElementById("TVA").value = (total * tva).toFixed(2);
document.getElementById("TTC").value = (total + total * tva).toFixed(2);
}
function champ_verrouille(champ,valeur) {
// Remarque : en HTML 4.0, il existe un attribut "read-only" pour la
// balise <INPUT TYPE=text> qui interdira de modifier un champ
// mais ce que je fais ci-dessous est beaucoup plus sûr !!!
// alert ("Ce champ de peut pas être modifié !") ;
document.form1.elements[champ.name].value = valeur ; // on remet "valeur" initiale dans champ
}
function soumettre_form() {
if ( document.forms.form1.total.value == 0 ) {
alert ("Vous n'avez rien commandé !\n => commande non soumise") ;
return false ;
} else {
// Les 2 lignes ci-dessous devraient être activées pour réellement passer le form. à script CGI
// document.form1.method = "POST" ;
// document.form1.action = "http://dgrwww.epfl.ch/cgi-bin/uncgi/mail_form.sh?mailto=Jean-Daniel.Bonjour@epfl.ch" ;
document.write ("<H3 ALIGN=center>Commande passée\n pour un montant de " +
document.forms.form1.total.value + " Frs</H3>") ;
document.close () ;
return true ;
}
}
// -->
</SCRIPT>
</HEAD>
<BODY BGCOLOR="white" > |
Et le code HTML
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 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173
| <table width="100%">
<!--utilisation d'un tableau qui occupera toute la page-->
<tr>
<td>
<table width="100%" align="center" border=1>
<tr>
<td align="center">
VILLE DE <BR>
1, rue Pasteur<BR>
BP9<BR>
Tel : 0321645570<BR>
Fax : 0321645583<BR>
Mel : contact<BR>
Mel : achatpublic<BR>
</td>
<td align="center">
<FORM id="form_commande">
Nom du fournisseur :
<INPUT TYPE="text" NAME="nom" VALUE="" SIZE="20" MAXLENGth="20">
<BR>
Adresse du fournisseur :
<INPUT TYPE="text" NAME="nom" VALUE="" SIZE="20" MAXLENGTH="20">
<BR>
Ville :
<INPUT TYPE="text" NAME="nom" VALUE="" SIZE="20" MAXLENGTH="20">
<BR>
FAX :
<INPUT TYPE="text" NAME="nom" VALUE="" SIZE="20" MAXLENGTH="20">
<BR>
LIEU DE LIVRAISON
<SELECT NAME="LIEU"
<OPTION VALUE="st">Service technique
<OPTION SELECTED VALUE="m">Mairie
<OPTION VALUE="elc">Education Loisirs et Citoyenneté
</SELECT>
</td>
<td align="center">
<?php
echo "Date du jour : ".date("d-m-Y")."<br>";
//affiche la date du jour d'utilisation du serveur par le client
?>
<BR>Action</BR>
<INPUT TYPE="checkbox" NAME="Livraison"> Livraison
<INPUT TYPE="checkbox" NAME="Retrait"> Retrait
<INPUT TYPE="checkbox" NAME="Autre"> Autre
<INPUT TYPE="checkbox" NAME="Transmission" CHECKED> Transmettre au fournisseur
</td>
<tr>
<td colspan=4 align="center">
Ne seront reconnus par le Ville de *****que les services faits en exécution dun bon de commande régulier dûment numéroté, visé et signé par le responsable achat
</td>
</tr>
<TABLE width="100%" BORDER="1" CELLSPACING="0" BGCOLOR="#FFFFAA" >
<TR BGCOLOR="#CCCCCC">
<TH WIDTH=70%><B>Réference fournisseur et désignation</B>
<TH >Quantité
<TH>Prix unitaire
<TH>Prix total HT
</TR>
<TH><INPUT TYPE="text" size="75">
<TH><INPUT TYPE="text" id="QuantiteA" NAME="QuantiteA" SIZE="3" MAXLENGTH="4" onchange="calculTotal('A')" onkeyup="calculTotal('A')" value="0" >
<TH><INPUT TYPE="text" id="PrixA" NAME="PrixA" SIZE="8" MAXLENGTH="4" type="hidden" onchange="calculTotal('A')" onkeyup="calculTotal('A')" value="0" >
<TH><input name="TotalA" type="text" id="TotalA" onchange="calculMontant()" value="0" />
<TR BGCOLOR="#CCCCCC">
<TH><INPUT TYPE="text" size="75">
<TH><INPUT TYPE="text" id="QuantiteB" NAME="QuantiteB" SIZE="3" MAXLENGTH="4" onchange="calculTotal('B')" onkeyup="calculTotal('B')" value="0" >
<TH><INPUT TYPE="text" id="PrixB" NAME="PrixB" SIZE="8" MAXLENGTH="4" type="hidden" onchange="calculTotal('B')" onkeyup="calculTotal('B')" value="0" >
<TH><input name="TotalB" type="text" id="TotalB" onchange="calculMontant()" value="0" />
<TR BGCOLOR="#CCCCCC">
<TH><INPUT TYPE="text" size="75">
<TH><INPUT TYPE="text" id="QuantiteC" NAME="QuantiteC" SIZE="3" MAXLENGTH="4" onchange="calculTotal('C')" onkeyup="calculTotal('C')" value="0" >
<TH><INPUT TYPE="text" id="PrixC" NAME="PrixC" SIZE="8" MAXLENGTH="4" type="hidden" onchange="calculTotal('C')" onkeyup="calculTotal('C')" value="0" >
<TH><input name="TotalC" type="text" id="TotalC" onchange="calculMontant()" value="0" />
<TR BGCOLOR="#CCCCCC">
<TH><INPUT TYPE="text" size="75">
<TH><INPUT TYPE="text" id="QuantiteD" NAME="QuantiteD" SIZE="3" MAXLENGTH="4" onchange="calculTotal('D')" onkeyup="calculTotal('D')" value="0" >
<TH><INPUT TYPE="text" id="PrixD" NAME="PrixD" SIZE="8" MAXLENGTH="4" type="hidden" onchange="calculTotal('D')" onkeyup="calculTotal('D')" value="0" >
<TH><input name="TotalD" type="text" id="TotalD" onchange="calculMontant()" value="0" />
<TR BGCOLOR="#CCCCCC">
<TH><INPUT TYPE="text" size="75">
<TH><INPUT TYPE="text" id="QuantiteE" NAME="QuantiteE" SIZE="3" MAXLENGTH="4" onchange="calculTotal('E')" onkeyup="calculTotal('E')" value="0" >
<TH><INPUT TYPE="text" id="PrixE" NAME="PrixE" SIZE="8" MAXLENGTH="4" type="hidden" onchange="calculTotal('E')" onkeyup="calculTotal('E')" value="0" >
<TH><input name="TotalE" type="text" id="TotalE" onchange="calculMontant()" value="0" />
<TR BGCOLOR="#CCCCCC">
<TH><INPUT TYPE="text" size="75">
<TH><INPUT TYPE="text" id="QuantiteF" NAME="QuantiteF" SIZE="3" MAXLENGTH="4" onchange="calculTotal('F')" onkeyup="calculTotal('F')" value="0" >
<TH><INPUT TYPE="text" id="PrixF" NAME="PrixF" SIZE="8" MAXLENGTH="4" type="hidden" onchange="calculTotal('F')" onkeyup="calculTotal('F')" value="0" >
<TH><input name="TotalF" type="text" id="TotalF" onchange="calculMontant()" value="0" />
<TR BGCOLOR="#CCCCCC">
<TH><INPUT TYPE="text" size="75">
<TH><INPUT TYPE="text" id="QuantiteG" NAME="QuantiteG" SIZE="3" MAXLENGTH="4" onchange="calculTotal('G')" onkeyup="calculTotal('G')" value="0" >
<TH><INPUT TYPE="text" id="PrixG" NAME="PrixG" SIZE="8" MAXLENGTH="4" type="hidden" onchange="calculTotal('G')" onkeyup="calculTotal('G')" value="0" >
<TH><input name="TotalG" type="text" id="TotalG" onchange="calculMontant()" value="0" />
<TR BGCOLOR="#CCCCCC">
<TH><INPUT TYPE="text" size="75">
<TH><INPUT TYPE="text" id="QuantiteH" NAME="QuantiteH" SIZE="3" MAXLENGTH="4" onchange="calculTotal('H')" onkeyup="calculTotal('H')" value="0" >
<TH><INPUT TYPE="text" id="PrixH" NAME="PrixH" SIZE="8" MAXLENGTH="4" type="hidden" onchange="calculTotal('H')" onkeyup="calculTotal('H')" value="0" >
<TH><input name="TotalH" type="text" id="TotalH" onchange="calculMontant()" value="0" />
<TR BGCOLOR="#CCCCCC">
<TH><INPUT TYPE="text" size="75">
<TH><INPUT TYPE="text" id="QuantiteI" NAME="QuantiteI" SIZE="3" MAXLENGTH="4" onchange="calculTotal('I')" onkeyup="calculTotal('I')" value="0" >
<TH><INPUT TYPE="text" id="PrixI" NAME="PrixI" SIZE="8" MAXLENGTH="4" type="hidden" onchange="calculTotal('I')" onkeyup="calculTotal('I')" value="0" >
<TH><input name="TotalI" type="text" id="TotalI" onchange="calculMontant()" value="0" />
<TR BGCOLOR="#CCCCCC">
<TH><INPUT TYPE="text" size="75">
<TH><INPUT TYPE="text" id="QuantiteJ" NAME="QuantiteJ" SIZE="3" MAXLENGTH="4" onchange="calculTotal('J')" onkeyup="calculTotal('J')" value="0" >
<TH><INPUT TYPE="text" id="PrixJ" NAME="PrixJ" SIZE="8" MAXLENGTH="4" type="hidden" onchange="calculTotal('J')" onkeyup="calculTotal('J')" value="0" >
<TH><input name="TotalJ" type="text" id="TotalJ" onchange="calculMontant()" value="0" />
<TR BGCOLOR="#CCCCCC">
<TH><INPUT TYPE="text" size="75">
<TH><INPUT TYPE="text" id="QuantiteK" NAME="QuantiteK" SIZE="3" MAXLENGTH="4" onchange="calculTotal('K')" onkeyup="calculTotal('K')" value="0" >
<TH><INPUT TYPE="text" id="PrixK" NAME="PrixK" SIZE="8" MAXLENGTH="4" type="hidden" onchange="calculTotal('K')" onkeyup="calculTotal('K')" value="0" >
<TH><input name="TotalK" type="text" id="TotalK" onchange="calculMontant()" value="0" />
<tr>
<td> </td>
<td> </td>
<td><strong>Total Montant</strong></td>
<td><strong>
<input type="text" name="montant" id="montant" onClick="calculMontant()" value="0" />
</strong></td>
</tr>
<tr>
<td> </td>
<td> </td>
<td><select id="tva" name="tva" onchange="calculTotal(letter)" onkeyup="calculTotal(letter)" ;>
<option value="0.196">19.6 %</option>
<option value="0.055">5.5 %</option>
</select></td>
<td><input type="text" name="TVA" id="TVA" value="0" /></td>
</tr>
<tr>
<td> </td>
<td> </td>
<td>Total TTC</td>
<td><input type="text" name="TTC" id="TTC" value="0" /></td>
</tr>
</tbody>
</table>
</fieldset>
<p>
<label>
<input type="submit" name="envoyer" id="envoyer" value="Envoyer" />
</label>
</p>
</form>
</BODY> |
Merci d'avance et excusez moi pour la longueur du code .