terça-feira, 15 de setembro de 2015

Menu “dropdown” dinâmico em PHP com PDO e MySQL



Hoje veremos como criar um menu do tipo “select” (também conhecido como “dropdown”) em PHP, utilizando PDO e banco de dados MySQL. A principal vantagem desse tipo de menu é que basta alterar o banco de dados e atualizar o navegador para a listagem ser exibida corretamente sem necessidade de alterar nenhuma linha de código.

1. O primeiro passo é criar em seu banco de dados uma tabela. Neste tuto, vamos criar uma bem simples, de linguagens de programação, como exemplo, com apenas duas colunas: “id” (chave primária) e “nome” (varchar). O comando SQL para criar essa tabela segue abaixo:

CREATE TABLE `linguagens`
(`id` int(10) NOT NULL auto_increment,
`nome` varchar(20) NOT NULL,
PRIMARY KEY  (`id`))
ENGINE=InnoDB DEFAULT CHARSET=latin1;

2. Cadastre algumas linguagens, como no exemplo:



(OBS: obviamente, vc pode criar outro tipo de tabela, como “produtos”, por exemplo.)

3. Agora abra seu editor e utilize o código abaixo – repare que já adicionamos, para facilitar, um formulário simples e uma resposta como teste:

<?php

//aqui a conexão
include (“conexao.php”);

// executa consulta à tabela
$stmt = $con->prepare("select id, nome from linguagens");
$stmt->execute();

?>

Pesquisa por categoria (assunto):
<p>

<form name="form" method="post" action="">

   <select name="cxnome" id="cxnome">

  <?php
  while($registros = $stmt->fetch(PDO::FETCH_OBJ)){
  ?>

  <option value="<?php echo $registros->id;?>"><?php echo $registros->nome;?></option>

  <?php
  }
  ?>

    </select>
    <input type="submit" name="Submit" value="Pesquisar">
</form>
<br />

<?php

// testando o menu
if(isset($_POST['pesquisa']))
{
$selecionado= $_POST['cxnome'];
echo "vc escolheu a linguagem numero: $selecionado";
}
?>

4. Salve e teste no navegador:




Pronto! Seu menu “select” dinâmico já estará funcionando corretamente.