Ola, boa note. Bom sou novo no forum. Ainda irei contribuir, mas hoje precisando de uma ajuda pra resolver um problema com uma consulta.
Eu estou criando um menu com as categorias ( ao clicar em um categoria ele vai filtrar apenas os produtos daquela categoria ) até ai tudo certo, porem na hora que eu chamo as categoria ele também chama as categoria sem nenhum produto cadastrado. Lembrando que o id da categoria esta indo pra dentro da tabela de produtos.
Alguém pode me ajudar a resolver essa consulta e listar apenas as categorias onde existe produtos cadastrados ? OBRIGADO DESDE JÁ!
Boa tarde! Estou com o seguinte problema, ao realizar uma consulta SQL simples, na primeira execução os registros são trazidos normalmente, porém quando executo a mesma consulta novamente sem realizar nenhuma alteração, o SQL Developer não traz nenhum registro, só trazendo novamente caso eu insira uma quebra de linha ou faça qualquer alteração que não modifique o resultado da consulta. Não consegui entender o porque desse problema estar ocorrendo, pois as consultas estavam normais até a semana passada. Cheguei a pesquisar sobre esse BUG mas não consegui encontrar nada, também executei a mesma consulta em um banco de dados teste que possui as mesmas configurações e registros do banco de produção e o problema não ocorreu. Alguém já passou por esse tipo de problema? Qualquer duvida estou a disposição.
Ola pessoal estou efetuando uma consulta dinâmica no banco utilizando checkbox.
Pesquisei alguns códigos aqui no forum e em outros locais e consegui fazer a consulta.
MAs então estou com um problema, como a minha tabela possui chaves estrangeiras em determinados campos o retorno vai ser o código e não o nome que esta na outra tabela.
Estou enviando o codigo quem puder me ajudar muito obrigado!
$tipoMaterial = $_POST['tipoMaterial'];
$criterio = " WHERE ";
for($i = 0; $i < count($tipoMaterial); $i++) {
switch ($tipoMaterial[$i]) {
case '2':
$criterio .= "m.MtCodMaterial = ".$tipoMaterial[$i]." OR ";
break;
case '1':
$criterio .= "m.MtCodMaterial = ".$tipoMaterial[$i]." OR ";
break;
case '3':
$criterio .= "m.MtCodMaterial = ".$tipoMaterial[$i]." OR ";
break;
case 'all':
$criterio = "";
break;
}
}
$criterio = substr($criterio, 0, -3);
$campos = array(
'MtCodigo' => 'Código',
'MtCodLoc' => 'Local de Estoque',
'MtCodProjeto' => 'Projeto',
'MtCodEspMnt' => 'Especilidade',
'MtPn' => 'PN',
'MtSn' => 'SN',
'MtPatrimonio' => 'Patrimônio',
'MtNome' => 'Nome',
'MtObs' => 'Obs.',
'MtQuantidade' => 'Qtd. Estoque',
'MtCodMaterial' => 'Tipo de Material');
if(isset($_POST['campos'])) {
$selecionados = $_POST['campos'];
//retorna somente os campos que existem na variavel $campos
$permitidos = array_intersect($selecionados, array_keys($campos));
$query = "SELECT " . implode(', ', $permitidos) . " FROM tb_material as m \r
INNER JOIN tb_localizacao l ON m.MtCodLoc = l.LcCodigo \r
INNER JOIN tb_projeto p ON m.MtCodProjeto = p.PrCodigo \r
INNER JOIN tb_tipoMaterial t ON m.MtCodMaterial = t.TmCodigo \r
INNER JOIN tb_espec_mnt e ON m.MtCodEspMnt = e.EmCodigo $criterio";
//somente para testar o formulario
echo "<br><br><br><br>";
//echo $query;
}
?>
<table>
<tr>
<?php
//echo $query;
//imprime o cabeçalho
foreach ($permitidos as $nome)
echo "<th>". $campos[$nome] . "</th>";
?>
</tr>
<?php
//realiza a consulta
$result = mysql_query($query) or die (mysql_error());
//imprime os resultados
print_r($result);
while($valores = mysql_fetch_row($result)) {
?>
<tr>
<?php
foreach($valores as $valor)
print_r($valores);
echo "<td class=\"celula\">".$valor."</td>";
?>
</tr>
<?php
}
?>
Os campos que são chave estrangeira estão nos INNER JOINS.
Sei que devo puxar o nome deles na outra tabela mas não estou sabendo fazer isso.
Ola, boa note. Bom sou novo no forum. Ainda irei contribuir, mas hoje precisando de uma ajuda pra resolver um problema com uma consulta.
Eu estou criando um menu com as categorias ( ao clicar em um categoria ele vai filtrar apenas os produtos daquela categoria ) até ai tudo certo, porem na hora que eu chamo as categoria ele também chama as categoria sem nenhum produto cadastrado. Lembrando que o id da categoria esta indo pra dentro da tabela de produtos.
Alguém pode me ajudar a resolver essa consulta e listar apenas as categorias onde existe produtos cadastrados ? OBRIGADO DESDE JÁ!
Compartilhar este post
Link para o post
Compartilhar em outros sites