Jump to content
  • Revista PROGRAMAR: Já está disponível a edição #60 da revista programar. Faz já o download aqui!

rickygac

[Resolvido] retorno errado de combo...

Recommended Posts

rickygac

olha aí pessoal... tenho 2 tabelas, umas categorias com o "id, id_categoria e categoria" e outra com "id, nome, imagem, id_categoria" com estes códigos, mas acontece que esta a retornar o valor da primeira entrada (id e categoria da tabela categorias) em vez de retornar os nomes das categorias existentes dentro do combo.

functions.php

<?php
// ##############################
// FUNÇÃO QUE TRATA AS CATEGORIAS
// ##############################
function listaCategorias(){
// Na função a variável $mysqli não é reconhecida, por isso informamos que existe.
global $mysqli;
// Agora já reconhece a ligação à BD, já podemos executar o código.
$sql = "SELECT id, categoria FROM categorias ORDER BY categoria ASC";
if(!$mysqli = $mysqli->query($sql)){
die('Erro ao consultar a base de dados: [' . $mysqli->error . ']');
}
if( $mysqli->num_rows > 0 ){
$rows = $mysqli->fetch_assoc();

return $rows;
}else{
return 0;
}
}
?>

e index.php

<label for="categoria">Escolha a Categoria:</label>
<br>
<select name="categoria" id="categoria">
<?php
$categorias = listaCategorias();

if( $categorias > 0 ){
 foreach($categorias as $id => $categoria){
  echo '<option value="'.$id.'">'. $categoria .'</option>'."\r\n";
 }
}

?>
</select>

Edited by rickygac

Ass: Ricky

Sou um génio... só nunca subi na vida porque tenho vertigens! rsrsrs....

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.