voila j' ai commence un module facturation dans mon application de gestion commerciale et je trouve pas le moyen d'inclure une fonction qui calcule le montant hors taxe et le montant total et les afficher sur la liste des facture et j'ai vraiment besoin d'aide.et voici le code factures.php
<?PHP
header("Cache-Control: no-cache, must-revalidate"); // pas de cache
include ("info.php");
include ("themes/menu.php");
define('FPDF_FONTPATH','font/');
require('DptPDF.php');
$TITRE=$TITRE."<br><b><font size=2><span style=\"color: rgb(255, 255, 255);\">FACTURES DE L'ENTREPRISE</span></font></b>";
OpenMenu($TITRE,$userLevel,$login);
OpenTableArticle();
if($userLevel!=1 AND $userLevel!=3)
{
echo "<script language='Javascript'>
window.alert('ACCESS NON PERMIS (17)')
</script> ";
}
else
{
$id; // id de l'fournisseur su lequel on travail
$erreur; // contient descriptif des erreurs de saisie
$find = $HTTP_POST_VARS["chercher"]; // data a rechercher
$data = array ( // REcuperation des donnees postees
article => $HTTP_POST_VARS["article"],
client => ($HTTP_POST_VARS["client"]),
typefact => trim($HTTP_POST_VARS["typefact"]),
datefacture => trim($HTTP_POST_VARS["datefacture"]),
);
if($_GET["op"])
{ $id=$_GET[id];
switch($_GET["op"])
{
case "liste" : lister(); break;
case "view" :
case "new" : if(!formulaire()) lister(); break;
case "del": del(); lister(); break;
case "add": //add(); if(!formulaire()) lister(); break;
case "mod": switch($HTTP_POST_VARS["action"])
{
case "Enregistrer" : add(); if(!formulaire()) lister(); break;
case "Enregistrer&Nouveau" : add(); $id=''; if(!formulaire()) lister(); break;
case "Suivant" : suivant(); if(!formulaire()) lister(); break;
case "Precedent": precedent(); if(!formulaire()) lister(); break;
case "Activer": compte(1); if(!formulaire()) lister(); break;
case "Desactiver": compte(0); if(!formulaire()) lister(); break;
case "Modifier" : mod();
default : if(!formulaire()) lister();
} break;
case "find": find(); if(!formulaire()) lister(); break;
case "lprint": lprint(); lister(); break;
case "GC": GC(); lister(); break;
default : break;
}
}
CloseTableArticle();
CloseMenu();
}
///////////////////////////////////////////////////////////////////////////////////////////////////
// FONCTION NEXT AND LAST
///////////////////////////////////////////////////////////////////////////////////////////////////
function suivant()
{
global $id;
if ($GLOBALS["connexion_reussie"])
{
$sql = "SELECT id_facture FROM `GC_factures` WHERE id_facture > $id
AND Client != '' ORDER BY id_facture ASC LIMIT 1";
if($result=mysql_query($sql, $GLOBALS["link"]))
if($facture=mysql_fetch_object($result)) $id=$facture->id_facture;
}
}
function precedent()
{
global $id;
if ($GLOBALS["connexion_reussie"])
{
$sql = "SELECT id_facture FROM `GC_factures` WHERE id_facture < $id
AND Client != '' ORDER BY id_facture DESC LIMIT 1";
if($result=mysql_query($sql, $GLOBALS["link"]))
if($facture=mysql_fetch_object($result)) $id=$facture->id_facture;
}
}
///////////////////////////////////////////////////////////////////////////////////////////////////
// Fonction d'activation desactivation de compte ...
///////////////////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////////////////
// Fonction d'effacement d'un fournisseur inclure effacement des inscriptions, des notes, ...
///////////////////////////////////////////////////////////////////////////////////////////////////
function del()
{ global $id;
if ($GLOBALS["connexion_reussie"])
{
if(!$id) return FALSE;
$sql = "DELETE FROM `GC_factures` WHERE `id_facture` = $id LIMIT 1";
$result=mysql_query($sql, $GLOBALS["link"]);
if($result)
{
// effacer toute info en rapport avec le fournisseur
return TRUE;
}
else return FALSE;
}
else return FALSE;
}
///////////////////////////////////////////////////////////////////////////////////////////////////
// Fonction de recherche dans la BD par nom et prenom
///////////////////////////////////////////////////////////////////////////////////////////////////
function find()
{
global $find, $id;
if ($GLOBALS["connexion_reussie"])
{
if(!$find) return FALSE;
list($client, )=explode(' ', trim(strtoupper($find)));
$client=trim($client);
$sql = "SELECT id_facture FROM GC_factures WHERE Client like \"$client\"";
$result=mysql_query($sql, $GLOBALS["link"]);
if($facture=mysql_fetch_object($result)) $id=$facture->id_facture; else return FALSE;
}
else return FALSE;
}
///////////////////////////////////////////////////////////////////////////////////////////////////
// FONCTION DE TEST DES DONNEES EN ENTREES
///////////////////////////////////////////////////////////////////////////////////////////////////
function test()
{
global $data;
global $erreur;
# Test des informations d entrées, dates, e-mail, ....
$erreur=NULL;
if($data[client]=='' or $data[article]=='' ) $erreur="client& article obligatoire<br>";
if($data[datefacture]!='' and $data[datefacture]!="//" and $data[datefacture]!="00/00/0000")
{ list($j,$m,$a)=explode("/",$data[datefacture]);
if($j=='P') //presumé
$data[datefacture]="$a-00-00";
else if (checkdate($m,$j,$a)) $data[datefacture]="$j-$m-$a";
}
else $data[datefacture]=NULL;
if($data[motdepasse1]!=$data[motdepasse2])
{ $erreur="Mot de passe non identique";
$data[motdepasse1]=NULL;
}
if($erreur!=NULL)
{
echo "<script language='Javascript'>
window.alert('ERREUR DE SAISIE DE DONNEES : $erreur')
</script> ";
return FALSE;
}
else return TRUE;
}
////////////////////////////////////////////////////////////////////////////////////////////////////
// FONCTION DE MODIFICATION D'UN ENREGISTREMENT fournisseur
////////////////////////////////////////////////////////////////////////////////////////////////////
function mod()
{ global $id, $data;
global $erreur;
if(test())
{
$sql="REPLACE INTO GC_factures
(`id_facture`,`article`,`client`,`typefact`,`datefacture`)
VALUES ('$id','$data[article]','$data[client]','$data[typefact]','$data[datefacture]')";
$result=mysql_query($sql, $GLOBALS["link"]);
if(!$result)
{ echo "<script language='Javascript'>
window.alert('Modification Impossible')
</script> ";
return FALSE;
}
}
else return FALSE;
}
////////////////////////////////////////////////////////////////////////////////////////////////////
// FONCTION D'INSERTION D'UN NOUVEL ENREGISTREMENT DANS LA BD
////////////////////////////////////////////////////////////////////////////////////////////////////
function add()
{ global $id, $data;
global $erreur;
if(test())
{ // Insertion d'un nouvel enregistrement
// Verifier si l'fournisseur est deja dans la base de donnees
$sql= 'SELECT * FROM GC_factures WHERE Client="'.$data[client].'" AND Article="'.$data[article].'" ';
$result=mysql_query($sql, $GLOBALS["link"]);
if ($facture = mysql_fetch_object($result))
{ echo "<script language=\"Javascript\">
window.alert(\"facture Existant dans la BD\")
</script> ";
$id=$facture->id_facture;
return FALSE;
}
else
{
$sql="INSERT INTO GC_factures
(`id_facture`,`article`,`client`,`typefact`,`datefacture`)
VALUES ('','$data[article]','$data[client]','$data[typefact]','$data[datefacture]')";
$result=mysql_query($sql, $GLOBALS["link"]);
if($result)
{ $id=mysql_insert_id($GLOBALS["link"]);
$sql="UPDATE GC_factures WHERE id_facture=$id";
mysql_query($sql, $GLOBALS["link"]);
////////// Insertion du compte username/password dans phpSPusers, voir d'abord si l'user existe deja
}
}
}
else return FALSE;
}
/////////////////////////////////////////////////////////////////////////////////////////////////////
// FONCTION FORMULAIRE DE SAISIE DE DONNEES POUR fournisseur
///////////////////////////////////////////////////////////////////////////////////////////////////
function formulaire()
{ global $id;
global $userLevel;
$inscription = array(); // table contenant les differentes inscriptions d'un stagiaires ?id=$id'
if($userLevel!=1 AND $userLevel!=3)
{
echo "<script language='Javascript'>
window.alert('ACCESS NON PERMIS')
</script> ";
return FALSE;
}
echo "<TABLE ALIGN=CENTER>";
echo "<tr><form method='POST' action='factures.php?op=find'>";
echo "<br><TD COLSPAN=4 VALIGN=CENTER ALIGN=LEFT bGColor=#a1a07e> Rechercher une facture:
<input type=text name=chercher value='' size=20>
<INPUT TYPE=SUBMIT name=action VALUE=OK></TD>
</form>";
echo "<TD COLSPAN=1 Align=center bGColor=#a1a07e> <a href='factures.php?op=new'>
<img border=\"0\" ALIGN=center src=\"images/new.gif\"></a></TD>";
if($GLOBALS["connexion_reussie"] and $id!="") // modification d'un enregistrement
{
$sql= "SELECT * FROM GC_factures WHERE id_facture=$id";
$result= mysql_query($sql, $GLOBALS["link"]);
if($facture=mysql_fetch_object($result))
{ $ID=1000+$facture->id_facture;
//recherche du compte de l'utilisateur
$sql= "SELECT * FROM phpSP_users WHERE primary_key=$ID";
$result= mysql_query($sql, $GLOBALS["link"]);
if($result) $compte=mysql_fetch_object($result);
//recherche des inscriptions de l'étudiant
// $sql= "SELECT * FROM GC_inscriptions WHERE fournisseur=$id";
// $result= mysql_query($sql, $GLOBALS["link"]);
// while($inscription[$i]=mysql_fetch_object($result)) { $i++; }
}
else echo "aucun enregistrement $id à modifier";
}
else echo "</tr>";
if($id!="") echo "<form method='post' action='factures.php?op=mod&id=$id'>";
else echo "<form method='post' action='factures.php?op=add'>";
echo "<tr valign=\"middle\">
<TD >Client:</TD> <TD><input type=text name=client value=\"$facture->Client\" size=20></TD></tr>";
echo "<tr valign=\"middle\">
<TD>Article : </TD> <TD><input type=text name=article value=\"$facture->Article\" size=20> </TD>
</tr>";
echo "<tr valign=\"middle\">
<TD>Date facture : </TD><td><input type=text name=datefacture value=\"$facture->DateFacture\" size=40></TD>
</tr>";
echo "<tr valign=\"middle\">
<td>Type:</td> <TD><colspan=0> <SELECT NAME=typefact>";
switch($facture->typefact)
{
case 0: echo "<option selected value=facture> Facture.
<option value=devis> Devis.
<OPTION value=BL>BL"; break;
case 0: echo "<option selected value=devis> Devis.
<option value=facture> Fcture.
<OPTION value=BL> BL"; break;
case 1: echo "<option selected value=BL> BL.
<option value=devis> Devis.
<OPTION value=facture> facture"; break;
default:echo "<option selected value=facture> Facture.
<option value=devis> Devis
<OPTION value=BL> BL"; break;
}
echo " </SELECT></TD>
</TR>";
/////////////////// FONCTION JAVASCRIPT DE CONFIRMATION DE SUPPRESSION
echo " <SCRIPT LANGUAGE='JavaScript'>
function confirmation() {
var msg = \"Etes-vous sur de vouloir supprimer\";
if (confirm(msg))location.replace(\"factures.php?op=del&id=$id\");}
</SCRIPT> ";
if($id!="")
{ if($compte->Etat) $ACTION='Desactiver'; else $ACTION='Activer';
echo "<TH COLSPAN=6 bGColor=#a1a07e>
<input type=submit name=action value=\"Precedent\">
<input type=submit name=action value=\"Modifier\">
<INPUT TYPE=\"Button\" onClick=\"confirmation();\" VALUE=\"Supprimer\">
<input type=submit name=action value=\"$ACTION\">
<input type=submit name=action value=\"Suivant\">
</TH>";
}
else echo "<TH COLSPAN=6 bGColor=#a1a07e>
<input type=submit name=action value=Enregistrer>
<input type=submit name=action value=Enregistrer&Nouveau></TH>";
echo " </TR> </form> </TABLE>";
return TRUE;
}
///////////////////////////////////////////////////////////////////////////////////////////////////
//--------------------------- FONCTION DE LISTAGE DES factures -----------------------------------
///////////////////////////////////////////////////////////////////////////////////////////////////
function lister()
{ global $find;
global $userLevel;
$lettre = $_GET['letter'];
$tri=$_GET['tri'];
if ($GLOBALS["connexion_reussie"])
{ echo "<TABLE width=\"100%\" ALIGN=CENTER><tr>";
alpha();
////////////////////////////// BOUTON D'AJOUT D'UN NOUVEL fournisseur /////////////////////////////////
if($userLevel==1 OR $userLevel==3)
echo "<TD Align=RIGHT> <a href='factures.php?op=new'>
<img border=\"0\" ALIGN=right src=\"images/new.gif\"></a>
<a href='factures.php?op=lprint&letter=$lettre&tri=$tri'>
<img border=\"0\" ALIGN=center src=\"images/print.gif\"></a></TD><tr>";
echo "<tr><form method='POST' action='factures.php?op=liste'>";
echo "<TD COLSPAN=2 VALIGN=CENTER ALIGN=RIGHT> Rechercher:
<input type=text name=chercher value='' size=20>
<INPUT TYPE=SUBMIT name=action VALUE=OK></TD>
</form>";
echo "</tr></TABLE>";
///////////////////////// AFFICHAGE DES factures ///////////////////////////////////////////////
echo "<TABLE width=\"100%\" ALIGN=CENTER>";
$sql= "SELECT id_facture,Typefact,Client,Article,DateFacture,Nom,Prenom,Designation,Tva,Quantite,Prixdt
FROM GC_factures,GC_clients,GC_articles
WHERE Client=id_client AND Article=id_article ";
if($find)
{ list($nom, $prenom)=explode(' ', trim(strtoupper($find)));
$prenom=trim($nom); $article=trim($prenom);
$sql = $sql.' AND Nom like "'.$nom.'%" ANDPrenom like "'.$prenom.'%"';
}
if($lettre and $lettre!="Tous") $sql = $sql.' and Nom like "'.$lettre.'%"';
if($tri!='') $sql = $sql.' ORDER BY '.$tri.', Nom, Prenom';
else $sql = $sql." ORDER BY Nom,Prenom";
$result= mysql_query($sql, $GLOBALS["link"]);
if($result)
{
echo "<tr bGColor=#a1a07e>";
$flag=!$FLAG;
echo "<TH><font size=2><a href=factures.php?op=liste&letter=$lettre&tri=$tri&sel=$flag>No</a></TH>";
echo "<th> <font size=2><a href=factures.php?op=liste&letter=$lettre&tri=Nom > Client</a></th>";
echo "<th> <font size=2><a href=factures.php?op=liste&letter=$lettre&tri=Designation> Designation </a></th>";
echo "<th> <font size=2><a href=factures.php?op=liste&tri=Type> Type</a></th>";
echo "<th> <font size=2><a href=factures.php?op=liste&letter=$lettre&tri=DateFacture> Date facture</a></th>";
echo "<th> <font size=2><a href=factures.php?op=liste&letter=$lettre&tri=Quantite> Quantite </a></th></font>";
echo "<th> <font size=2><a href=factures.php?op=liste&letter=$lettre&tri=Prixdt> Prix unitaire</a></th></font>";
echo "<th> <font size=2><a href=factures.php?op=liste&letter=$lettre&tri=Tva> Tva</a></th></font>";
echo "</tr>";
echo "<form method='POST' action='factures.php?op=liste&letter=$lettre&tri=$tri'>";
$i=0;
while ($facture=mysql_fetch_object($result))
{
$i++;
echo "<tr bGColor=#c1d7b9>";
$id=$facture->id_facture;
echo "<TD Align=center>$i</TD>";
$fichier="factures.php?op=view&id=$facture->id_facture";
echo " <td> <font size=2> <a href= $fichier><i> $facture->Nom $facture->Prenom </i></a></td>" ;
echo " <td Align=center> <font size=2> $facture->Designation</td> ";
echo " <td Align=left> <font size=2> $facture->Typefact </td> ";
echo " <td Align=left> <font size=2> $facture->DateFacture </td> ";
echo " <td Align=left> <font size=2> $facture->Quantite</td> ";
echo " <td Align=left> <font size=2> $facture->Prixdt</td> ";
echo " <td Align=left> <font size=2> $facture->Tva</td> ";
}
echo "</form>";
}
echo "</TABLE>";
}
}
function alpha()
{
/* Creates the list of letters and makes them a link. */
global $sortby;
$alphabet = array ("Tous", "A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z");
$num = count($alphabet) - 1;
echo "<td width=\"80%\"><left><font size=2>";
/* start of HTML */
$counter = 0;
while (list(, $ltr) = each($alphabet)) {
echo "<A HREF=\"factures.php?op=liste&letter=$ltr\">$ltr</a>";
if ( $counter != $num ) {
echo " | ";
}
$counter++;
}
echo "</font></left></td>\n"; // end of HTML
}
?>