liviasam 1 Denunciar post Postado Março 14, 2014 Pessoal, quando cadastro um cliente tenho o seguinte código: // Insere os dados no banco $sql = mysql_query("INSERT INTO clientes VALUES ('', '".$nome."', '".$email."', '".$endereco."', '".$numero."', '".$complemento."', '".$bairro."', '".$cep."', '".$cidade."', '".$uf."', '".$telefone."', '".$celular."', '".$pai."', '".$mae."', '".$sexo."', '".$nascimento."', '".$cpf."')"); // Se os dados forem inseridos com sucesso if (mysql_affected_rows() > 0){ header('Location: cadastro.php'); exit; } else{ echo "Erro ao cadastrar."; } Bom, a página e o cadastro.php, depois que cadastro ele retorna a página cadastro.php para eu cadastrar outro cliente, porém queria que ele retornasse a página de cadastro do cliente que acabei de cadastrar com os dados preenchidos. Tentei usar a função abaixo, mas acho que estou errando em alguma coisa if (mysql_affected_rows() > 0){ header('Location: cadastro.php?id=<?=$_GET['id'] ?>'); exit; A id do cliente está como id_cliente, não sei se pode fazer alguma diferença também, alterei e não deu em nada Compartilhar este post Link para o post Compartilhar em outros sites
Marcelo Garbin 30 Denunciar post Postado Março 14, 2014 Buenas, Na hora que você faz um novo cadastro você passa a ID? Pelo que olhei no seu Insert não. Modo mais "chato", fazer um Select e resgatar o último ID inserido no BD e por no seu header no lugar do "$_GET"(Você esta passando as variáveis por URL?). Modo super "eu li o manual", pode utilizar a função "mysql_insert_id()". Sobre a função: "mysql_insert_id — Obtém o ID gerado pela operação INSERT anterior. O valor da função SQL do MySQL LAST_INSERT_ID() sempre contém o valor AUTO_INCREMENT mais recentemente gerado, e não é reiniciado entre as consultas." Aí você utiliza no seu header, ex.: header('Location: cadastro.php?id=<?php echo mysql_insert_id(); ?>'); Só um exemplo, testa aí e verifica se vai ocorrer tudo certo :rolleyes: Compartilhar este post Link para o post Compartilhar em outros sites
liviasam 1 Denunciar post Postado Março 14, 2014 Oi Marcelo, vou tentar aqui e te digo. Compartilhar este post Link para o post Compartilhar em outros sites
eduardoherden 9 Denunciar post Postado Março 14, 2014 não necessita inserir o id no insert no proprio mysql, cria a tabela com o campo #id , com auto increment muito mais facil Compartilhar este post Link para o post Compartilhar em outros sites
liviasam 1 Denunciar post Postado Março 14, 2014 Eduardo, Você não leu bem o que postei. O que você falou já tem, apenas preciso que após o insert fazer voltar a tela de cadastro preenchido. Tentei Marcelo, mas ele cadastra e volta a tela de cadastro em branco. E no link acima ele fica assim: cadastro.php?id=<?php%20echo%20mysql_insert_id();%20?> Vou dar uma estudada aqui e vê o que modifico. Compartilhar este post Link para o post Compartilhar em outros sites
Marcelo Garbin 30 Denunciar post Postado Março 14, 2014 Mas veja essa função, é com ela que você vai conseguir o último ID inserido em sua tabela, questão de ajustes no seu código você vai conseguir fazer o que quiser... Você vai ter que tratar a tela de cadastro também, criar um Select pra popular os campos após receber esse ID. Tente por ele em uma variável pra ir testando e pra ver que valor ele retorna, após isso confira com o valor que esta na sua tabela. Compartilhar este post Link para o post Compartilhar em outros sites
liviasam 1 Denunciar post Postado Março 14, 2014 Sim, vou trabalhar em cima disso que você me passou. Os campos já estão tratados. Agora vou alterando para ver se consigo. Se conseguir posto a solução aqui. Obrigada. Compartilhar este post Link para o post Compartilhar em outros sites
Osmar L Lima 51 Denunciar post Postado Março 14, 2014 Bom, você pode fazer o redirecionamento para cadastro.php sem parâmetros mesmo, nesta página você pode montar um select para pegar o último registro e com estes valores você pode coloca-los nos inputs. Compartilhar este post Link para o post Compartilhar em outros sites
liviasam 1 Denunciar post Postado Março 14, 2014 Entendi um pouco, mas no caso não seria ir para outra página aonde eu definisse o último registro sempre? Uma página de edição tipo: editar.php que sempre recuperasse o último registro. Compartilhar este post Link para o post Compartilhar em outros sites
hinom 5 Denunciar post Postado Março 15, 2014 #5 header('Location: cadastro.php?id=<?php echo mysql_insert_id(); ?>'); :seta: header('Location: cadastro.php?id=' . mysql_insert_id()); Compartilhar este post Link para o post Compartilhar em outros sites
liviasam 1 Denunciar post Postado Março 15, 2014 Perfeito hinom, Deu certinho essa mudança. Apenas tratei uma página de edição e a redirecionei para ela. editar.php. Assim cadastro o cliente e ele já vai para a página de edição, assim já verifico se está tudo ok e confirmo. Obrigado também aos que me deram algumas opções. Compartilhar este post Link para o post Compartilhar em outros sites
Marcelo Garbin 30 Denunciar post Postado Março 17, 2014 #5 header('Location: cadastro.php?id=<?php echo mysql_insert_id(); ?>'); :seta: header('Location: cadastro.php?id=' . mysql_insert_id()); Foi o que falei no #2... era só ter ajustado... :graduated: :nataltongue: Compartilhar este post Link para o post Compartilhar em outros sites
hinom 5 Denunciar post Postado Março 17, 2014 #12 isso é zuado aqui não tem controle algum sobre reputações e posts resolvidos.. levei uns pontos de graça pelo "seu trabalho" kkkk vou acompanhar mais os seus posts para ganhar mais pontos. rsrs Compartilhar este post Link para o post Compartilhar em outros sites