phpbrasil 0 Denunciar post Postado Agosto 13, 2014 Pessoal, É o seguinte: Estou criando uma pagina chamada editar.php, onde eu edito as informações inseridas no banco por um form. Dentro desse form, existem 4 tabelas relacionadas: USUARIO - TELEFONE(usuario_idusuario(FK)) - LOGRADOURO(usuario_idusuario(FK), cidade_idcidade(FK)) - CIDADE Abaixo segue o codigo trabalhando com as tabelas USUARIO e TELEFONE: <?php include('conecta_mysql.php'); $vid= $_GET['idusuario']; $sql = "SELECT usuario.matricula, usuario.nome, usuario.tipo, usuario.curso, usuario.periodo, usuario.email, usuario.login, usuario.senha,telefone.residencial,telefone.celular FROM usuario INNER JOIN telefone ON usuario.idusuario = telefone.usuario_idusuario WHERE usuario.idusuario=$vid"; $query = mysql_query($sql); if($query == false){ die("Erro de seleção de dados"); }else{ $linha = mysql_fetch_array($query); } ?> Nao estou conseguindo inserir as outras tabelas =/ estao dando erro... Poderiam me ajudaR? Obrigada Compartilhar este post Link para o post Compartilhar em outros sites
Marlon Pacheco 132 Denunciar post Postado Agosto 13, 2014 :google: http://lmgtfy.com/?q=inner+join+com+4+tabelas Compartilhar este post Link para o post Compartilhar em outros sites
phpbrasil 0 Denunciar post Postado Agosto 14, 2014 :google: http://lmgtfy.com/?q=inner+join+com+4+tabelas eu fiz isso amigo.. so que mesmo assim nao esta dando certo....o formulario aparece sem dado nenhum.. segue o codigo que eu fiz: <?php include('conecta_mysql.php'); $vid= $_GET['idusuario']; $sql = "SELECT usuario.matricula, usuario.nome, usuario.tipo, usuario.curso, usuario.periodo, usuario.email, usuario.login, usuario.senha,telefone.residencial,telefone.celular,logradouro.endereco,logradouro.comp,logradouro.bairro,logradouro.cep,cidade.nome FROM usuario INNER JOIN telefone ON usuario.idusuario = telefone.usuario_idusuario INNER JOIN logradouro ON logradouro.usuario_idusuario = usuario.idusuario INNER JOIN cidade ON cidade.idcidade = logradouro.cidade_idcidade WHERE usuario.idusuario=$vid"; $query = mysql_query($sql); if($query == false){ die("Erro de seleção de dados"); }else{ $linha = mysql_fetch_array($query); } ?> Compartilhar este post Link para o post Compartilhar em outros sites
Vinicius Rangel 208 Denunciar post Postado Agosto 14, 2014 desculpa jovem mas q diabos vc fez ai? uma tabela para guardar telefone? qual o intuito disso? Compartilhar este post Link para o post Compartilhar em outros sites
phpbrasil 0 Denunciar post Postado Agosto 14, 2014 eu fiz isso pq o usuario pode ter mais de um telefone elefone? qual o intuito disso? Compartilhar este post Link para o post Compartilhar em outros sites
Marlon Pacheco 132 Denunciar post Postado Agosto 14, 2014 Ok. Se tu rodar a consulta direto no banco de dados, retornam resultados? Compartilhar este post Link para o post Compartilhar em outros sites
phpbrasil 0 Denunciar post Postado Agosto 14, 2014 Ok. Se tu rodar a consulta direto no banco de dados, retornam resultados? Quando jogo no banco, ele retorna os resultados rsrsrs que estranho Compartilhar este post Link para o post Compartilhar em outros sites
Fernando C 128 Denunciar post Postado Agosto 15, 2014 Quando jogo no banco, ele retorna os resultados rsrsrs que estranhoo formulario aparece sem dado nenhum.. segue o codigo que eu fiz: 1. vc tem que vincular os campos do formulario aos dados recuperados da consulta; 1 exemplo: <input type="text" name="nome" value="<?php echo $linha['usuario.nome']; ?>" size="32"> senão o formulario fica vazio mesmo... 2. se vc quer editar a tabela, isso q vc postou não executa; vc tem que definir depois uma instrução update. 3. dicas legais sobre sql: http://www.linhadecodigo.com.br/artigo/2975/comandos-basicos-em-sql-insert-update-delete-e-select.aspx http://www.linhadecodigo.com.br/artigo/75/principais-instrucoes-em-sql.aspx Compartilhar este post Link para o post Compartilhar em outros sites
phpbrasil 0 Denunciar post Postado Agosto 15, 2014 1. você tem que vincular os campos do formulario aos dados recuperados da consulta; 1 exemplo: <input type="text" name="nome" value="<?php echo $linha['usuario.nome']; ?>" size="32"> senão o formulario fica vazio mesmo... 2. se você quer editar a tabela, isso q você postou não executa; você tem que definir depois uma instrução update. 3. dicas legais sobre sql: http://www.linhadecodigo.com.br/artigo/2975/comandos-basicos-em-sql-insert-update-delete-e-select.aspx http://www.linhadecodigo.com.br/artigo/75/principais-instrucoes-em-sql.aspx Fernando...fiz o 1 exemplo e nao deu certo.....ele retorna o formulario sem nenhum registro para eu poder editar Compartilhar este post Link para o post Compartilhar em outros sites
Fernando C 128 Denunciar post Postado Agosto 15, 2014 ta.. vamos tentar o seguinte:1. poste o formulário;2. d 1 echo nessa variavel: $vid= $_GET['idusuario']; 3. nessa linha: $query = mysql_query($sql); mude para: $query = mysql_query($sql) or die(mysql_error()); 4. da trabalho,mas o que eu costumo fazer é debugar as"queries" isoladamenteANTES dos "joins" da vida..e sinceramente... esse "where" depois dos "on" me da algumas desconfianças..considere (seriamente) usar parenteses p/ definir melhor os filtros..bom, 1 dica: como aparentemente o problema está mais na exibição dos dados no form,tente fazer uma pagina desse tipo com apenas 1 tabela..acho q vai ser bem mais simples de "pegar" o erro ai.. Compartilhar este post Link para o post Compartilhar em outros sites
phpbrasil 0 Denunciar post Postado Agosto 15, 2014 ta.. vamos tentar o seguinte: 1. poste o formulário; 2. d 1 echo nessa variavel: $vid= $_GET['idusuario']; 3. nessa linha: mude para: $query = mysql_query($sql) or die(mysql_error()); 4. da trabalho, mas o que eu costumo fazer é debugar as "queries" isoladamente ANTES dos "joins" da vida.. e sinceramente... esse "where" depois dos "on" me da algumas desconfianças.. considere (seriamente) usar parenteses p/ definir melhor os filtros.. bom, 1 dica: como aparentemente o problema está mais na exibição dos dados no form, tente fazer uma pagina desse tipo com apenas 1 tabela.. acho q vai ser bem mais simples de "pegar" o erro ai.. Fernando, entao...fiz o que voce pediu na 1,2 e 3 e ele me retornou o ID do ususario, onde voce pediu para colocar o echo e o form continua aparecendo em branco... uma duvida....no caso eu tiraria o ON e colocaria os ( ) , e isso? Compartilhar este post Link para o post Compartilhar em outros sites
Fernando C 128 Denunciar post Postado Agosto 16, 2014 oi.. olha, testei a sql e realmente está ok, não precisa altera-la. Mas acho que descobri o erro: na linha apos o "else", se quiser tentar, troque essas linhas: $linha = mysql_fetch_array($query);}?> por essas: while($linha = mysql_fetch_array($query)) { ?> <form id="form1" name="form1" method="post" action=""> <label>nome: <input type="text" name="nome" value="<?php echo $linha['nome']; ?>"/> </label> <br /> <label>telefone: <input type="text" name="telefone" value="<?php echo $linha['residencial']; ?>"/> </label> <br /> <label> <input type="submit" name="Submit" value="alterar" /> </label> <br /> </form> <?php } } ?> aqui deu certo. atenção: isso é só p/ você ter uma ideia de como "carregar" o form c/ os dados do banco. a pagina que d fato efetua a alteração tente ai, ok? Compartilhar este post Link para o post Compartilhar em outros sites
phpbrasil 0 Denunciar post Postado Agosto 20, 2014 oi.. olha, testei a sql e realmente está ok, não precisa altera-la. Mas acho que descobri o erro: na linha apos o "else", se quiser tentar, troque essas linhas: por essas: while($linha = mysql_fetch_array($query)) { ?> <form id="form1" name="form1" method="post" action=""> <label>nome: <input type="text" name="nome" value="<?php echo $linha['nome']; ?>"/> </label> <br /> <label>telefone: <input type="text" name="telefone" value="<?php echo $linha['residencial']; ?>"/> </label> <br /> <label> <input type="submit" name="Submit" value="alterar" /> </label> <br /> </form> <?php } } ?> aqui deu certo. atenção: isso é só p/ você ter uma ideia de como "carregar" o form c/ os dados do banco. a pagina que d fato efetua a alteração tente ai, ok? Muito Obrigada Compartilhar este post Link para o post Compartilhar em outros sites
Fernando C 128 Denunciar post Postado Agosto 21, 2014 disponha :thumbsup: Compartilhar este post Link para o post Compartilhar em outros sites