-
Conteúdo Similar
-
Por aw10home
Quando faço a consulta no phpMyadmim consigo o resultado esperado. Mas pelo visto não estou sabendo fazer direito em PHP. O que estou errando? Porque não consigo fazer a média (prtm) "aparecer"?
abaixo meu código.
<?php if (isset($_GET['$id_aluno'])){ $id_aluno = addslashes($_GET['$id_aluno']);} elseif (isset($_GET['id_aluno'])){ $id_aluno = addslashes($_GET['id_aluno']);}//addslashes evita sqlinjection else{ $id_aluno=(""); } $informacao=$con->prepare("SELECT a.id_aluno, a.nome, SUM(((b.prt*5)+(m.prt*3)+(v.prt*2))/10 ) as prtm FROM aluno a inner join avb1 b on a.id_aluno = b.id_aluno inner join avm2 m on a.id_aluno = m.id_aluno inner join avp v on a.id_aluno = v.id_aluno group by a.id_aluno, a.nome WHERE a.id_aluno = $id_usuario"); $informacao->execute(); ?> <!------------> <table class="cBolt"> <tr> <td>Avaliação</td> <td>Bim.</td> <td>Português</td> </tr> <?php while($linha=$informacao->fetch(PDO::FETCH_ASSOC)){ ?> <tr> <td>Média</td> <td>1º</td> <td><?php echo $linha['prtm'];?></td> </tr> <?php } ?> </table>
-
Por lucianfpaula
Galera tenha a seguinte duvida, tenho 3 tabelas onde estou trazendo os dados e preciso fazer um count em uma delas
SELECT * FROM tabela1 AS t1 INNER JOIN tabela2 AS t2 ON t1.idt1 = t2.idt2 INNER JOIN tabela3 AS t3 ON t3.idt3 = t1.idt1
a duvida é: quero manter o SELECT * mas também preciso de COUNT(t3.idT3)
não sei se é possível fazer isso, mas gostaria de ter certeza antes de focar em outra solução
desde já muito grato.
-
Por r.guerra
Salve galera, boa tarde a todos.
estou tendo um problema que ainda nao consegui enxergar... faço uma consulta mysql que funciona normalmente no proprio ambiente(mysql) mas ao solicitar a exibição do campo via php gera nao exibe e me tras um alerta.
****codigo php
function monta_avaliacao($cpf){
$query = mysqli_query($_SESSION["conector"],"SELECT c.*, a. cliente AS clientes FROM clientes AS c INNER JOIN avaliacoes AS a ON c.id = a.cliente WHERE c.cpf='$cpf'");
$dados = mysqli_fetch_assoc($query);
print $dados['c.cpf'];
}
*****sainda no html
Notice: Undefined index: c.cpf in C:\xampp\htdocs\acus\inclusoes\funcoes.php on line 29
Notice: Undefined index: a.pe in C:\xampp\htdocs\acus\inclusoes\funcoes.php on line 30
tenho um arquivo com as funções, e apenas mando os parametros.
-
Por Rodymb
Bom dia!
Estou fazendo um select em uma tabela de cupom fiscal e preciso que me mostre o operador do caixa e o supervisor que liberou a venda, que no caso é convênio.
A consulta que montei é a seguinte:
select c.m00ad as CUPOM,
c.m00ac as PDV,
c.m02ak as VALOR,
p.descricao as FINALIZADORA,
c.m02ah as OPERADOR,
f.nome as NOME_OP,
c.m02ao as SUPERVISOR,
f.nome as NOME_SUP
from zan_m02 c inner join tab_funcionario f
on c.m02ao = f.cod_funcionario
inner join tab_finalizadora p
on c.m02ai = p.cod_finalizadora
where c.m00af = to_date('09/03/20','dd/mm/yy')
and c.m00za = 3
and c.m00ac = 9
and c.m00ad = 379678
group by c.m00ad,c.m00ac,c.m02ak,p.descricao,c.m02ah,f.nome,c.m02ao;
A consulta me retorna o seguinte resultado:
Como podem ver, repetiu o mesmo nome (operador e supervisor), sendo que o código é diferente.
Isso acontece por que na tabela de funcionário o campo NOME serve para operador e supervisor e o que diferencia se é supervisor ou operador temos mais duas outras tabelas. A estrutura é assim:
tab_funcionario -> temos o campo cod_funcionario e nome (todos os funcionários cadastrados são armazenados nessa tabela)
tab_perfil -> temos os campos cod_perfil e descricao (todos os perfis cadastrados são armazenados nessa tabela)
tab_perfil_funcionario -> temos os campos cod_funcionario e cod_perfil (tabela que relaciona as tabelas tab_funcionario e tab_perfil)
A única coisa que preciso é que apareça no NOME_OP o nome do operador e não o nome do supervisor igual está aparecendo.
-
Por Luiz Henrique
Olá pessoas,
Preciso fazer uma consulta em 3 tabelas, mas quando insiro a 3ª na consulta já duplica resultados:
Tabela ticket
id, id_cliente
Tabela clientes
id, nome
Tabela servicos_ticket
id, id_ticket, valor_ticket
Aqui OK
SELECT ticket.*, clientes.* FROM ticket JOIN clientes ON ticket.id_cliente = clientes.id Mas aqui duplica, porque um ticket pode ter vários serviços cadastrados.
ticket.*, clientes.*, servico_ticket.* FROM ticket JOIN clientes ON ticket.id_cliente = clientes.id JOIN servico_ticket ON ticket.id = servico_ticket.id_ticket A listagem tem que ser apenas dos tickets cadastrados, tentei colocar DISTINCT ticket.* mas não adianta.
o resultado deveria ser algo assim:
12344 luiz 10.00
12345 henrique 20.00
mas se o ticket do luiz tiver 3 serviços cadastrados
12344 luiz 10.00
12344 luiz 10.00
12344 luiz 10.00
12345 henrique 20.00
e deveria ser apenas 1, aí eu faria a soma dos valores
12344 luiz 30.00
Como elimino essa duplicação?
Deu para entender?
Obrigado.
-