Construir un menú Select con PHP

Esta sencilla función PHP permite construir dinámicamente un menú desplegable tipo select, partiendo de un array con los datos del desplegable.

la función permite que uno de los elementos del desplegable ya esté seleccionado previamente.

<?php
$dias = array(
		1=>Lunes,
		2=>Martes,
		3=>Miércoles,
		4=>Jueves,
		5=>Viernes,
		6=>Sábado,
		7=>Domingo
		);

function doSelect($n,$d,$s=null)
	{
	$doSelect = "<select name=\"$n\">\n";
	foreach($d as $i=>$v)
		{
		$doSelect.="\t<option value=\"$i\"";
		$doSelect.=$s==$i?" selected":"";
		$doSelect.=">".$v."</option>\n";
		}
	$doSelect.="</select>";
	return $doSelect;
	}

// El miércoles, pre-seleccionado
echo doSelect("dias",$dias,3);
?>

La función devuelve el siguiente html:

<select name="dias">
	<option value="1">Lunes</option>
	<option value="2">Martes</option>
	<option value="3" selected>Miércoles</option>
	<option value="4">Jueves</option>
	<option value="5">Viernes</option>
	<option value="6">Sábado</option>
	<option value="7">Domingo</option>
</select>

Si no quisiéramos ningún elemento pre-seleccionado en el desplegable, sólo tenemos que omitir el tercer parámetro de la función.

<?php
// Ningún día pre-seleccionado
echo doSelect("dias",$dias);
?>

Acerca de esta entrada