spanix 0 Denunciar post Postado Outubro 2, 2009 Olá Pessoal! Estou criando um sistema de inscrição para os participantes de um evento. Preciso saber os clientes que participaram do evento de acordo com cada evento. Abaixo segue as tabelas que crie no meu banco de dados: TABELAS CLIENTE Cod_cli Nome Endereco Numero Bairro Municipio Estado CEP Email Telefone EVENTO Cod_evento Nome_evento Data_evento CLIENTE_EVENTO Cod_reg Cod_evento Cod_cli Preciso de um select que traga para mim o nome e data de cada evento, que o participantes participou de acordo com o codigo do participante. Obrigado! Compartilhar este post Link para o post Compartilhar em outros sites
Dee 0 Denunciar post Postado Outubro 2, 2009 SELECT * FROM CLIENTES INNER JOIN CLIENTE ON CLIENTE.COD_CLI = CLIENTE_EVENTO.COD_CLI A condição você coloca de acordo com o que você quer ae. (Where) Compartilhar este post Link para o post Compartilhar em outros sites
spanix 0 Denunciar post Postado Outubro 2, 2009 <?php require("conectdb.php"); $sql1 = "SELECT * FROM CLIENTE INNER JOIN CLIENTE ON CLIENTE.COD_CLI = CLIENTE_EVENTO.COD_CLI where cod_cli = ".$_GET["cod_cli"]."" OR DIE ("ERROR");; $query = mysql_query($sql1); if ($query <> false) { while($dados = mysql_fetch_array($query)) { $nome_evento = $dados['nome_evento']; $data_evento = $dados['data_evento']; } //Executo a minha query //$query = mysql_query($sql); //if ($query <> false) { //while($dados = mysql_fetch_array($query)) { echo " <tr> <td align='center'>" . $dados["cod_evento"] . " </tr> <td align='center' valign='middle'> " . $dados["cod_nome"] . " </td> ";} echo "</table>"; ?> Montei o seguinte select para a condição ! Compartilhar este post Link para o post Compartilhar em outros sites
Dee 0 Denunciar post Postado Outubro 2, 2009 Olhaa... Aki where cod_cli o campo cod_cli tem nas duas tabelas, você tem que falar em qual tabela você quer pegar ele. Eh na tabela cliente. entao seria where cliente.cod_cli quando for postar coloca as tags CODE pra nós vermos melhor. deu algum erro ? Compartilhar este post Link para o post Compartilhar em outros sites
spanix 0 Denunciar post Postado Outubro 5, 2009 Bom Dia ! Não deu nenhum erro ! $sql1 = "SELECT * FROM cliente INNER JOIN cliente_evento ON CLIENTE.COD_CLI = CLIENTE_EVENTO.COD_CLI where cliente.cod_cli = ".$_GET["cod_cli"]."" or die ("error");; Estou usando o select acima, mas não esta dando certo, o cliente que quero ver é o que esta ligado no cadastro de evento. Obrigado Abs! Compartilhar este post Link para o post Compartilhar em outros sites
Mário Monteiro 179 Denunciar post Postado Outubro 5, 2009 não está retornando nenhum registro ou não retorna o que você esperava? sua query está passando os dados corretos? Compartilhar este post Link para o post Compartilhar em outros sites
spanix 0 Denunciar post Postado Outubro 5, 2009 Não está trazendo nada, tipo o que preciso é mostrar os eventos que o participantes participou anteriormente ? <?php require("conectdb.php"); $sql1 = "SELECT * FROM cliente INNER JOIN cliente_evento ON CLIENTE.COD_CLI = CLIENTE_EVENTO.COD_CLI where cliente.cod_cli = ".$_GET["cod_cli"]."" or die ("error");; $query = mysql_query($sql1); if ($query <> false) { while($dados = mysql_fetch_array($query)) { $nome_evento = $dados['nome_evento']; $data_evento = $dados['data_evento']; } //Executo a minha query //$query = mysql_query($sql); //if ($query <> false) { //while($dados = mysql_fetch_array($query)) { echo " <tr> <td align='center'>" . $dados["nome_evento"] . " </tr> <td align='center' valign='middle'> " . $dados["data_evento"] . " </td> ";} echo "</table>"; ?> Dá uma olhada para entender o que preciso ! Obrigado Compartilhar este post Link para o post Compartilhar em outros sites
Dee 0 Denunciar post Postado Outubro 5, 2009 Isso ? SELECT * FROM CLIENTE INNER JOIN CLIENTE_EVENTO ON CLIENTE_EVENTO.COD_CLI = CLIENTE.COD_CLI INNER JOIN EVENTO ON EVENTO.COD_EVENTO = CLIENTE_EVENTO.COD_EVENTO WHERE CLIENTE.COD_CLI = ".$_GET["cod_cli"] Compartilhar este post Link para o post Compartilhar em outros sites
spanix 0 Denunciar post Postado Outubro 5, 2009 Vou testar pra ver o que acontece e já posto o resultado ! Compartilhar este post Link para o post Compartilhar em outros sites
spanix 0 Denunciar post Postado Outubro 5, 2009 Não da erro e também não imprimi a SQL ! Compartilhar este post Link para o post Compartilhar em outros sites
Dee 0 Denunciar post Postado Outubro 5, 2009 você testou isso direto no banco ? sem ser no PHP ? SELECT * FROM CLIENTE INNER JOIN CLIENTE_EVENTO ON CLIENTE_EVENTO.COD_CLI = CLIENTE.COD_CLI LEFT OUTER JOIN EVENTO ON EVENTO.COD_EVENTO = CLIENTE_EVENTO.COD_EVENTO WHERE CLIENTE.COD_CLI = ".$_GET["cod_cli"] Compartilhar este post Link para o post Compartilhar em outros sites
spanix 0 Denunciar post Postado Outubro 5, 2009 "MySQL retornou um conjunto vazio (ex. zero registros)." Testei no phpMyAdmin, e deu essa mensagem. Usando a sql = SELECT * FROM CLIENTE INNER JOIN CLIENTE_EVENTO ON CLIENTE_EVENTO.COD_CLI = CLIENTE.COD_CLI INNER JOIN EVENTO ON EVENTO.COD_EVENTO = CLIENTE_EVENTO.COD_EVENTO WHERE CLIENTE.COD_CLI = ".$_GET['$cod_cli']." Não traz nada ! Compartilhar este post Link para o post Compartilhar em outros sites
Dee 0 Denunciar post Postado Outubro 5, 2009 e usando a segunda SQL que eu postei ? com Left Outer Join Mas faça o seguinte, tira o WHERE do Select e veja se traz tudo. Se trazer eh pq ta certo, se nao trazer eh pq o cliente que você ta usando nao participou de nenhum evento certo ? Compartilhar este post Link para o post Compartilhar em outros sites
spanix 0 Denunciar post Postado Outubro 5, 2009 Da a mesma mensagem no Banco. Testei com a segunda sql que você postou. Compartilhar este post Link para o post Compartilhar em outros sites
Dee 0 Denunciar post Postado Outubro 5, 2009 E esse ? SELECT * FROM CLIENTE_EVENTO INNER JOIN CLIENTE ON CLIENTE.COD_CLI = CLIENTE_EVENTO.COD_CLI INNER JOIN EVENTO ON EVENTO.COD_EVENTO = CLIENTE_EVENTO.COD_EVENTO Compartilhar este post Link para o post Compartilhar em outros sites
spanix 0 Denunciar post Postado Outubro 5, 2009 Esse funcionou :D, traz para mim todos os clientes relacionados com os eventos. Como faço para imprimir o nome do evento relacionado ao cliente ? Compartilhar este post Link para o post Compartilhar em outros sites
Dee 0 Denunciar post Postado Outubro 5, 2009 você só quer o nome do evento ?? E na onde você quer imprimir ? Compartilhar este post Link para o post Compartilhar em outros sites
Matias Rezende 50 Denunciar post Postado Outubro 5, 2009 Utilize a mesma lógica e tente fazer. Não adianta nada o Dee ou outro membro do fórum fazer a consulta para você se você não entender o que está sendo feito, pois sempre que precisar você vai depender do fórum. A idéia não é esta. Tente entender o que o Dee fez, busque referências no manual da linguagem (no caso Mysql) sobre o que foi utilizado, para entender o que cada comando faz. Como a dúvida principal já foi resolvida, vou marcar o tópico como resolvido. Carlos Eduardo Compartilhar este post Link para o post Compartilhar em outros sites
spanix 0 Denunciar post Postado Outubro 5, 2009 Obrigado Dee, pela ajuda vou me virar para tentar fazer sozinho a impressão dos eventos ! Obrigado Compartilhar este post Link para o post Compartilhar em outros sites