1
How can I do more than one select in the same query? I tried it this way (using UNION), but it didn’t work:
DATABASE
Table: cameras_lines
id_camera_linha | nome_linha_camera
Table: manufacturers
id_fabricante | nome_fabricante
Table: cameras
id_camera | fabricantes_id_fabricante (chave estrangeira) | cameras_linhas_id_camera_linha (chave estrangeira) | modelo_camera
php cameras.
function listaCameras($conexao) {
$cameras = array();
$resultado = mysqli_query($conexao,"(select c.*, f.nome_fabricante as nome_fabricante from cameras as c join fabricantes as f on c.fabricantes_id_fabricante = f.id_fabricante)
UNION ALL
(select c.*, cl.nome_linha_camera as nome_linha_camera from cameras as c join cameras_linhas as cl on c.cameras_linhas_id_camera_linha = cl.id_camera_linha)");
while($camera = mysqli_fetch_assoc($resultado)) {
array_push($cameras, $camera);
}
return $cameras;
}
index php.
<?php
require_once $_SERVER["DOCUMENT_ROOT"] . "/admin/includes/connect.php";
require_once $_SERVER["DOCUMENT_ROOT"] . "/admin/includes/cameras.php";
<?php
$cameras = listaCameras($conexao); //função para listar os produtos (verificar arquivo includes/produtos.php)
?>
<table class="table table-striped table-bordered">
<?php
foreach($cameras as $camera) {
?>
<tr>
<td><?= $camera['nome_fabricante'] //mostra o produto?></td>
<td><?= $camera['nome_linha_camera'] //mostra o produto?></td>
<td><?= $camera['modelo_camera'] //mostra o produto?></td>
<td><a class="btn btn-primary" href="edit.php?id_produto=<?=$camera['id_camera']?>">editar</a> <!-- botão editar -->
<td>
<form action="delete.php" method="post"> <!-- botão deletar -->
<input type="hidden" name="id_produto" value="<?=$camera['id_camera']?>" />
<button class="btn btn-danger">X</button>
</form>
</td>
</tr>
And the result is this:
Can anyone give a boost? Thanks in advance!
If you do your job
return mysql_fecth_assoc($resultado)
is enough.– Diego Souza