Pular para o conteúdo

Geração automática de menu drop down com banco de dados em PHP

Dica publicada em PHP / Banco de Dados
Evângelus Espolador espola
Hits: 16.842 Categoria: PHP Subcategoria: Banco de Dados
  • Indicar
  • Impressora
  • Denunciar
O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.

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:

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>";
    }
O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.

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

O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.

Select com extração de dia, mês ou ano no PostgreSQL

Como lidar com strings complicadas no PHP

PHP - Biblioteca PDO

Enviando parâmetros para o Google e gravando o resultado em banco

Múltiplos portais em Xoops com o mesmo DB

Instalar Apache, PHP, MySQL e PostgreSQL no Ubuntu Linux 8.10

#1 Comentário enviado por removido em 30/12/2004 - 15:12h
nao faltou um :
pg_freeresult($res);

depois do echo "</select>";

?
para liberar a memoria usada pelo pg_exec() ?
#2 Comentário enviado por Eduardo Neres em 03/01/2005 - 18:21h
Não consegui usar direito... Mas meu irmão descobriu um erro, não me disse onde, mas robou beleza.
Valeu pela Dica...

Contribuir com comentário

Entre na sua conta para comentar.