Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Ola, estou tentando fazer uma exibição de dados da seguinte maneira:
tabela 1 = associados
tabela 2 = mensalidades
objetivo: fazer com que ao visitar a ficha do associado eu consiga ver as mensalidades que ele pagou, usando o id do associado tentei fazer com join mais ta resultando todos os registro, não so o do associado individual.
olha o codigo:
$sql = "SELECT `mensalidades`.*, `associados`.`id` AS associados FROM `mensalidades`
INNER JOIN `associados` ON `mensalidades`.`id_associado` = `associados`.`id`
ORDER BY `mensalidades`.`id` = '$id' ASC";
$query = mysql_query($sql);Se for só para pegar o ID do Associado, use subseletc
SELECT *,
( SELECT id FROM associados
WHERE associados.id = mensalidades.id_associado
) AS associado_id
FROM mensalidades WHERE id = '$id'Ola povo que amu muito. venho aqui agradecer por terem se esforçado para me ajudar. Obrigado halfar e Williams Duarte combinei os codigos de vcs dois e deu certim certim. brigadao.
o codigo ficou assim:
// Consulta que pega todos os todas as mensalidades de um unico associado.
$sql = "SELECT `mensalidades`.*, `associados`.`id` AS associados FROM `mensalidades`
INNER JOIN `associados` ON `mensalidades`.`id_associado` = `associados`.`id`
WHERE `associados`.`id` = '$id'";
$query = mysql_query($sql);
?>>
11 horas atrás, halfar disse:
porque ORDER BY mensalidades.id = '$id' ASC" ???
deveria ter dado um erro, acho que se enganou, o correto seria:
se mesmo assim está retornando todos os registros, tente trocar o order by por GROUP BY.
este inner join é meio danadinho mesmo de se entender...
pelo o que entendi quer pegar todas as mensalidades de todos os usuários individualmente. Então o código acima me parece o correto.
Mas se quer pegar apenas um cliente específico, aí tem que acrescentar a clausula where:
espero que te ajude.
bom halfar, usei daquela forma pq precisa pegar o id pela variavel $id por fiz aquilo.
<?php
$id = $_GET['id'];
//Executa consulta.
//Uso essa consulta pra pegar alguns dados individual do associado, como cpf e nome.
$result = mysql_query("SELECT * FROM associados WHERE id = '$id' LIMIT 1");
$resultado = mysql_fetch_assoc($result);
dai uso esse codigo pra pegar dados especifico do associado. junto com a variavel $id. tendeu ? por isso nao reportava erro. bjos
porque ORDER BY
mensalidades.id= '$id' ASC" ???deveria ter dado um erro, acho que se enganou, o correto seria:
>
Citar
>
Citar
>
Citar