l3.cas-d-astre/includes/liblistefournisseurs.inc.php
2009-05-01 08:39:36 +00:00

168 lines
4.7 KiB
PHP

<?php
if (!defined("LIBLISTEFOURNISSEURS_INC")){
define(LIBLISTEFOURNISSEURS_INC,1);
/*
* fonction permettant de savoir de quelle famille
* de produit est charger l'acheteur actuel
*/
class ListeFournisseurs {
var $_fournisseurs;
var $_fournisseursIdx;
var $_familleId;
var $_familleName;
function ListeFournisseurs($acheteurID){
$this->_fournisseurs=array();
$this->_fournisseursIdx=0;
$this->_familleId=-1;
$this->_familleName="Aucune famille de produit trouvée";
$this->setFamilleFromAcheteur($acheteurID);
$this->loadList();
}
function setFamilleFromAcheteur($acheteurID){
$connexion = @mysql_connect(SQL_SERVER,SQL_USER,SQL_PASSWD);
if ($connexion){
// preparation de la requete :
$requete="SELECT reference_fam,nom_fam "
."FROM Famille_de_produit "
."WHERE id_acheteur='$acheteurID' "
."ORDER BY id_acheteur LIMIT 0,1";
// envoie de la requete
$resultat=mysql_db_query(SQL_BASE,$requete,$connexion)
or die($requete.":".mysql_error($connexion));
$row = mysql_fetch_object($resultat);
$this->_familleId=$row->reference_fam;
$this->_familleName=$row->nom_fam;
mysql_close($connexion);
} else {
mysql_error($connexion);
}
}
function ajouteFournisseur($id,$nom, $adresse,$famille,
$tel, $fax, $siret, $siren)
{
//TODO: escaper les valeurs
$connexion = @mysql_connect(SQL_SERVER,SQL_USER,SQL_PASSWD);
if ($connexion){
$requete="INSERT INTO Fournisseur "
."(id_fournisseur,nom,adresse,telephone,fax,SIRET,"
."SIREN,reference_fam) "
."VALUES ('$id','$nom','$adresse','$tel','$fax','$SIRET',"
."'$SIREN','$famille')";
$result=mysql_db_query(SQL_BASE,$requete,$connexion);
if (!$result){
print "<span class='bad'>\nErreur :";
print mysql_error($connexion);
print "\n</span>\n";
}
} else {
mysql_error($connexion);
}
mysql_close($connexion);
$this->loadList();
}
function supprimeFournisseur($ids){
// on cherche les lignes selectionnees pour la suppression
//on supprime aussi les produits du fournisseur...
if (count($ids)>0){
$connexion = @mysql_connect(SQL_SERVER,SQL_USER,SQL_PASSWD);
if ($connexion){
while( list($case,$val) = each($ids) ){
// on supprime les lignes selectionnees
$requete="DELETE FROM ProduitFour "
."WHERE id_fournisseur='$val' ";
$resultat=mysql_db_query(SQL_BASE,$requete,$connexion);
if(!$resultat){
print mysql_error($connexion);
}
$requete="DELETE FROM Fournisseur "
."WHERE id_fournisseur='$val' "
."AND reference_fam='".$this->_familleId."'";
$resultat=mysql_db_query(SQL_BASE,$requete,$connexion);
if(!$resultat){
print mysql_error($connexion);
}
}
mysql_close($connexion);
} // connexion
} // count
$this->loadList();
}
function loadList(){
// charge la liste des fournisseurs
$connexion = @mysql_connect(SQL_SERVER,SQL_USER,SQL_PASSWD);
if ($connexion){
// preparation de la requete :
$requete="SELECT * "
."FROM Fournisseur "
."WHERE reference_fam='".$this->_familleId."' "
."ORDER BY id_fournisseur";
// envoie de la requete
$resultat=mysql_db_query(SQL_BASE,$requete,$connexion)
or die($requete.":".mysql_error($connexion));
$this->_fournisseurs=array();
$this->_fournisseursIdx=0;
while($row = mysql_fetch_object($resultat)){
$four=new Fournisseur(
$row->id_fournisseur,
$row->nom,
$row->adresse,
$row->reference_fam,
$row->telephone,
$row->fax,
$row->SIRET,
$row->SIREN
);
$this->_fournisseurs[$this->_fournisseursIdx]=$four;
$this->_fournisseursIdx+=1;
}
mysql_close($connexion);
} else {
mysql_error($connexion);
}
}
function toHTML($editable=0){
$content="";
if (!$editable){
$content.="<select name=\"fournisseur\">\n";
}
for ($i=0;$i<$this->_fournisseursIdx;$i++){
if ($editable) {
$content.="<p class=\"ligne".($i%2)."\" />\n";
$content.=$this->_fournisseurs[$i]->toHTML();
$content.="\n</p>\n";
} else {
$content.="<option "
."value=\"".$this->_fournisseurs[$i]->_id."\" "
.">";
$content.=$this->_fournisseurs[$i]->_id." - ";
$content.=$this->_fournisseurs[$i]->_nom;
$content.="</option>\n";
}
}
if (!$editable){
$content.="</select>\n";
} else {
if (count($this->_fournisseurs)>0){
$content.="<input type=\"submit\" "
."id=\"action\" "
."name=\"action\" "
."value=\"Supprimer\" "
."/>\n";
}
}
return $content;
}
}
}
?>