Petit update bis
Salut les coquins,
J'ai perdu quelques neurones à mettre en place la balise CODE pour le forum :)
Seule le code PHP / HTML est coloré, si l'on oublie pas de mettre les <? et ?>
Aller, pour le test, je vous file ma "petite" fonction pour générer des Combos en 2 coups de cuillères à pot :
<?
Class ObjCombo
{
var $MySQL_Res = "";
var $ComboName = "";
var $ComboDebut = "";
var $ComboInit = "";
var $ComboValBody = "";
var $ComboLibelleBody = "";
var $ComboCssClasse = "";
/* Valeurs multiples */
var $ComboDisplayAll = array();
var $ComboSubmit = array();
var $ComboAddStyle = array();
/* Méthodes */
/*
AddJSEvent = Ajouter un événement JS
exemple : $combo-> AddJSEvent("OnChange","Submit()");
Utilisation multiple
*/
function AddJSEvent($Event,$FctConctent)
{
$curEvent = count($this->ComboSubmit[$Event]);
if($curEvent > 0)
{
$this->ComboSubmit[$Event][$curEvent] = $FctConctent;
}
else
{
$this->ComboSubmit[$Event][0] = $FctConctent;
}
}
/*
AddDisplayAll = Ajouter une ligne statique dans le Select
exemple : $combo-> AddDisplayAll("Afficher tout","all");
Utilisation unique
*/
function AddDisplayAll($displayTxt,$displayValue)
{
$this->ComboDisplayAll['displayValue'] = $displayValue;
$this->ComboDisplayAll['displayTxt'] = $displayTxt;
}
/*
SetClass = Attribuer au Select une classe CSS
exemple : $combo-> SetClass("inpClass");
Utilisation unique
*/
function SetClass($Classe)
{
$this->ComboCssClasse = $Classe;
}
/*
SetClass = Ajouter un style personnalisé
exemple : $combo-> AddCustomStyle("width:120px;");
Utilisation multiple
*/
Function AddCustomStyle($Style)
{
$cur = count($this->ComboAddStyle);
$this->ComboAddStyle[$cur] = $Style;
}
/*
displayCombo = Afficher le combo
exemple : $combo-> displayCombo($MySQL_Res,"ComboName","Choisir une famille","$_POST['var']","varBody","LibBody");
*/
Function displayCombo($MySQL_Res,$ComboName,$ComboDebut,$ComboInit,$ComboValBody,$ComboLibelleBody)
{
$this-> ComboReturn = "\n<Select name=\"".$ComboName."\"";
if(count($this->ComboSubmit) > 0)
{
foreach ($this->ComboSubmit as $propertie => $tbTmp)
{
$this-> ComboReturn .= " ".$propertie."=\"";
$nb = Count($tbTmp);
For($i=0; $i < $nb; $i++)
{
$this-> ComboReturn .=$tbTmp[$i].";";
}
$this-> ComboReturn .= "\"";
}
}
if(!empty($this->ComboCssClasse)) $this-> ComboReturn .= " class=\"".$this->ComboCssClasse."\"";
if(count($this->ComboAddStyle) > 0)
{
$this-> ComboReturn .= " Style=\"";
foreach($this->ComboAddStyle as $Style) $this-> ComboReturn .= $Style.";";
$this-> ComboReturn .= "\"";
}
$this-> ComboReturn .= ">\n";
if(!empty($ComboDebut))
{
$this->ComboReturn.= "\t<option value=\"\">".$ComboDebut."</option>\n";
$this->ComboReturn.= "\t<option value=\"\">-------------------------</option>\n";
}
if(!empty($this->ComboDisplayAll['displayTxt']))
{
$this->ComboReturn.= "\t<option value=\"".$this->ComboDisplayAll['displayValue']."\"";
if($this->ComboDisplayAll['displayValue']==$ComboInit) { $this->ComboReturn.=" Selected"; }
$this->ComboReturn.= ">".$this->ComboDisplayAll['displayTxt']."</option>\n";
$this->ComboReturn.= "\t<option value=\"\">-------------------------</option>\n";
}
$NbRes = MySQL_NumRows($MySQL_Res);
For($iRes=0; $iRes < $NbRes; $iRes++)
{
$Rs = MySQL_Fetch_Array($MySQL_Res);
$this->ComboReturn.= "\t<option value=\"".$Rs[$ComboValBody]."\"";
if(!empty($ComboInit))
{
if($Rs[$ComboValBody]==$ComboInit) $this->ComboReturn.=" Selected";
}
$this->ComboReturn.= ">".$Rs[$ComboLibelleBody]."</option>\n";
}
$this->ComboReturn.="</Select>\n";
echo $this-> ComboReturn;
}
}
?>
++ all :)