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
Código :
e index.php
Código :
functions.php
Código :
<?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;
}
}
?>
// ##############################
// 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
Código :
<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>
<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>