preencher combo com dados da tabela

Enviada por Neto Sales 
Neto Sales
preencher combo com dados da tabela
06 de June de 2018 às 12:31AM
Estou seguindo uma video aula de php com mysql e estou conseguindo listar os dados de uma tabela em uma lista (list), só pra que saibam que o problema de conexão com o banco já está superado. Tentei aproveitar o mesmo código para listar a mesma tabela numa combobox, e não tá preenchendo. Aparece a combo, mas não preenche com os dados. Alguém sabe onde estou errando? Segue código:

<body>
<ul>
<?php
// Passo 4 - Listagem dos dados
while($registro = mysqli_fetch_assoc($categorias)){
?>
<li><?php echo $registro ["nomecategoria"]?></li>
<?php
}

?>
</ul>
<form name="produto" method="post" action="">
<label for="">Selecione um produto</label>
<select>
<option>Selecione...</option>

<?php
while($registro = mysqli_fetch_assoc($categorias)) { ?>
<option = "<?php echo $registro['categoriaID'] ?>"><?php echo $registro["nomecategoria"] ?></option>
<?php } ?>

</select>
</form>
<?php
//Passo 5 - Liberar dados da memória
mysqli_free_result($categorias);
?>
</body>
Trambulhao
Re: preencher combo com dados da tabela
06 de June de 2018 às 10:49AM
<body>
<ul>
<?php
// Passo 4 - Listagem dos dados
while ($registro = mysqli_fetch_assoc($categorias)):
echo '<li>' . $registro['nomecategoria'] . '</li>';
endwhile;
?>
</ul>
<form name="produto" method="post" action="">
<label>Selecione um produto</label>
<select>
<option>Selecione...</option>
<?php
while ($registro = mysqli_fetch_assoc($categorias)):
echo '<option value="' . $registro['categoriaID'] . '">' . $registro['nomecategoria'] . '</option>';
endwhile;
?>
</select>
</form>
<?php
//Passo 5 - Liberar dados da memória
mysqli_free_result($categorias);
?>
</body>
Xavier
Re: preencher combo com dados da tabela
10 de June de 2018 às 01:52AM
Beleza Neto?
É bem simples. Faça assim como o Trambulhao ensinou ou pode fazer assim também com php pdo.
É um exemplo básico de como você pode popular ou preencher uma select ou combo com php, com dados vindos de uma tabela do seu banco de dados:

<p>Referência:
<select name="SuaCombo" size="2" id="idSuaCombo"> //incluindo o elemento select
<option value="0">Selecione...</option>


<?php
//Conecta o banco de dados e traz as informações dos produtos...
include("conexao.php"); //crie um arquivo conexao.php
$pdo=conectar();

try{

//buscando os dados na tabela e populando a combo...
$sql=$pdo->prepare("SELECT * FROM tabela");
$sql->bindParam(':id', $_GET['id'], PDO::PARAM_INT);
$sql->bindParam(':campo', $_GET['campo'], PDO::PARAM_STR);
$sql->execute();

//loop
while($linha=$sql->fetch(PDO::FETCH_ASSOC)){

//pegando o dado do campo desejado da tabela...
$variavel = $linha["campo"];

//preenchendo a combo com os dados...
$var = "<option>".$variavel."</option>";
echo $var;
};


//fechando a conexão
$pdo = null;
}
catch(PDOExcception $erro){
echo $erro->getmessage();
}

?>
</select> //fechando o elemento select

Espero ter ajudado.
Neto Sales
Re: preencher combo com dados da tabela
15 de June de 2018 às 12:59AM
Deu certo aqui. Valeu.
Você precisa estar logado no PHPBrasil.com para poder enviar mensagens para os nossos fóruns.

Faça o login aqui.