Geração automática de menu drop down com banco de dados em PHP
Dica publicada em PHP / Banco de Dados
Geração automática de menu drop down com banco de dados em PHP
A geração de menus tipo drop down (selects) com dados de
uma tabela do banco pode ser muito fácil se for utilizada
a função a seguir. O banco pode ser o MySQL, o
PostgreSQL ou outro qualquer.
Veja o código:
Veja o código:
function select($nome, $con, $cod, $desc, $table, $order, $comp)
{
$sql = "SELECT $cod, $desc FROM $table ORDER BY $order";
$res = pg_exec($con, $sql);
echo "<select name=".$nome." size = 1>";
for ($i=0;$i<pg_num_rows($res);$i++)
{
$rs = pg_fetch_array($res,$i);
if ($rs[$cod] == $comp)
echo "<option value=".$rs[$cod]." selected>".$rs[$desc]."</option>";
else
echo "<option value = ".$rs[$cod].">".$rs[$desc]."</option>";
}
echo "</select>";
}
{
$sql = "SELECT $cod, $desc FROM $table ORDER BY $order";
$res = pg_exec($con, $sql);
echo "<select name=".$nome." size = 1>";
for ($i=0;$i<pg_num_rows($res);$i++)
{
$rs = pg_fetch_array($res,$i);
if ($rs[$cod] == $comp)
echo "<option value=".$rs[$cod]." selected>".$rs[$desc]."</option>";
else
echo "<option value = ".$rs[$cod].">".$rs[$desc]."</option>";
}
echo "</select>";
}
Os parâmetros:
- $nome -> nome do select no código html;
- $con -> conexão com o banco;
- $cod -> campo código da tabela usada no 'Value' do select;
- $desc -> campo descrição da tabela que vai aparecer como opção;
- $table -> nome da tabela fonte dos dados;
- $order -> campo pelo qual será ordenado o resultado;
- $comp -> variável referência para tornar um valor selecionado (em pesquisas);
Para chamar no código HTML:
select('s_estcivil', $con, 'estciv_cod', 'estcivi_desc', 'estcivil','estciv_cod',$s_estcivil);
Pronto. Agora é só chamar a função e passar os parâmetros. Parece que não, mas quebra um galhão.
[]'s
Espolador
pg_freeresult($res);
depois do echo "</select>";
?
para liberar a memoria usada pelo pg_exec() ?