El caso es que tengo unas funciones que muy seguido utilizo y me ayudan bastante para ahorrar tiempo y codigo, ahora las quiero pasar formar parte de una clase y espero puedan ayudarme.
Las funciones reciben parametros para construir un elemento <select> de html, ya sea desde una consulta a base de de datos, como de un arreglo. Ahora mismo los tengo así:
Código PHP:
function impSelectArray($nombre,$extra,$select,$inicial,$arreglo)
{
echo '<select id="'.$nombre.'" name="'.$nombre.'" '.$extra.' >';
if($select == -99)
echo '<option value="-99" SELECTED>'.$inicial.'__</option>';
foreach($arreglo as $valor => $etiqueta)
{
if(is_array($select) && in_array($valor,$select))
echo '<option value="'.$valor.'" SELECTED>'.htmlentities($etiqueta).'</option>';
else if($valor == $select)
echo '<option value="'.$valor.'" SELECTED>'.htmlentities($etiqueta).'</option>';
else
echo '<option value="'.$valor.'">'.htmlentities($etiqueta).'</option>';
}
echo "</select>";
}
Esto que les pongo debajo que tan alejado de la realidad está para convertirlo en clase?
Código PHP:
class comboHtml
{
public $nombre = '';
public $id = $nombre;
public $extra = '';
public $inicial = '';
public $slqQuery = '';
public $select = '';
public $arreglo = array();
public function fillFromDataBase($nombre,$qry,$select,$extra,$inicial)
{
$this->nombre = $nombre;
$this->extra = $extra;
$this->inicial = $inicial;
}
public function fillFromArray($nombre,$arreglo,$select,$extra,$inicial)
{
$this->arreglo = $arreglo;
$this->nombre = $nombre;
$this->extra = $extra;
$this->inicial = $inicial;
echo '<select id="'.$nombre.'" name="'.$nombre.'" '.$extra.' class="navLink">';
if($select == -99)
echo '<option value="-99" SELECTED>'.$inicial.'__</option>';
foreach($arreglo as $valor => $etiqueta)
{
if(is_array($select) && in_array($valor,$select))
echo '<option value="'.$valor.'" selected>'.htmlentities($etiqueta).'</option>';
else if($valor == $select)
echo '<option value="'.$valor.'" selected>'.htmlentities($etiqueta).'</option>';
else
echo '<option value="'.$valor.'">'.htmlentities($etiqueta).'</option>';
}
echo "</select>";
}
}
Saludos!!