Gostaria que alguém me ajudasse a encontrar erro num código. Estou fazendo um curso na net, e tentando adaptar o código que funciona para ir aprimorando a aprendizagem. Então vou colocar dois códigos aqui, onde um funciona o outro não. O que funciona é o do curso com mais campos. O que fiz foi apenas adaptar esse código que funciona para uma quantidade bem menor, e ver se funciona. Os dois códigos abre o formulário, aparentemente consultam o banco com sucesso, porém só o original está alterando, certamente por algum erro meu. Mas já olhei trocentas vezes, postei dúvida lá no curso, e o cara não responde, então estou parado na aprendizagem por conta disso. Basicamente é um formulário de cadastro de transportadoras onde o usuário altera os dados de uma transportadora através desse formulário. Esse tá funcionando tudo certinho. Tentei reproduzir esse mesmo formulário, porém apenas com dois campos (cidade e estado), e mesmo assim não funciona. Lista certinho, mas não altera, por isso acho que é um erro simples. Segue os dois códigos pra que comparem:
CÓDIGO QUE FUNCIONA:
<?php require_once("conexao/conexao.php");?><?php
if(isset($_POST["nometransportadora"])){
$nome = utf8_decode($_POST["nometransportadora"]);
$endereco = utf8_decode($_POST["endereco"]);
$cidade = utf8_decode($_POST["cidade"]);
$estado = $_POST["estados"];
$cep = $_POST["cep"];
$cnpj = $_POST["cnpj"];
$telefone = $_POST["telefone"];
$tID = $_POST["transportadoraID"];// CRIAR O OBJETO PARA ALTERAR
$alterar ="UPDATE transportadoras ";
$alterar .="SET ";
$alterar .="nometransportadora = '{$nome}', ";
$alterar .="endereco = '{$endereco}', ";
$alterar .="cidade = '{$cidade}', ";
$alterar .="estadoID = {$estado}, ";
$alterar .="cep = '{$cep}', ";
$alterar .="cnpj = '{$cnpj}', ";
$alterar .="telefone = '{$telefone}' ";
$alterar .="WHERE transportadoraID = {$tID}";
$operacao_alterar = mysqli_query($conecta, $alterar);if(!$operacao_alterar){die("Erro na alteração!");}else{
header("location: listagem2.php");}}// Consulta a tabela de transportadoras.
$tr ="SELECT * ";
$tr .="FROM transportadoras ";if(isset($_GET["codigo"])){
$id = $_GET["codigo"];
$tr .="WHERE transportadoraID = {$id} ";}else{
$tr .="WHERE transportadoraID = 1 ";}
$con_transportadora = mysqli_query($conecta, $tr);if(!$con_transportadora){die("Erro na consulta");}
$info_transportadora = mysqli_fetch_assoc($con_transportadora);// Consulta aos estados
$estados ="SELECT * ";
$estados .="FROM estados ";
$lista_estados = mysqli_query($conecta, $estados);if(!$lista_estados){die("erro no banco");}?><!doctype html><html><head><metacharset="UTF-8"><title>Curso PHP INTEGRACAO</title><!-- estilo --><linkhref="_css/estilo.css"rel="stylesheet"><linkhref="_css/alteracao.css"rel="stylesheet"></head><body><?php include_once("_incluir/topo.php");?><main><divid="janela_formulario"><formaction="alteracao.php"method="post"><h2>Alteração de Transportadoras</h2><labelfor="nometransportadora">Nome da Transportadora</label>
<input type = "text" value = "<?php echo utf8_encode( $info_transportadora["nometransportadora"])?>" name = "nometransportadora" id = "nometransportadora">
<labelfor="endereco">Endereço</label>
<input type = "text" value = "<?php echo utf8_encode( $info_transportadora["endereco"])?>" name = "endereco" id = "endereco">
<labelfor="cidade">Cidade</label>
<input type = "text" value = "<?php echo utf8_encode( $info_transportadora["cidade"])?>" name = "cidade" id = "cidade">
<labelfor="estados">Estados</label><selectid="estados"name="estados"><?php
$meuestado = $info_transportadora["estadoID"];while($linha = mysqli_fetch_assoc($lista_estados)){
$estado_principal = $linha["estadoID"];if($meuestado == $estado_principal){?>
<option value="<?php echo $linha["estadoID"]?>" selected>
<?php echo utf8_encode($linha ["nome"])?></option><?php
}else{?>
<option value="<?php echo $linha["estadoID"]?>">
<?php echo utf8_encode($linha ["nome"])?></option><?php
}}?></select><labelfor="cep">CEP</label>
<input type = "text" value = "<?php echo ( $info_transportadora["cep"])?>" name = "cep" id = "cep">
<labelfor="telefone">Telefone</label>
<input type = "text" value = "<?php echo utf8_encode( $info_transportadora["telefone"])?>" name = "telefone" id = "telefone">
<labelfor="cnpj">CNPJ</label>
<input type = "text" value = "<?php echo utf8_encode( $info_transportadora["cnpj"])?>" name = "cnpj" id = "cnpj">
<input type = "hidden" name = "transportadoraID" value = "<?php echo $info_transportadora["transportadoraID"]?>">
<inputtype="submit"value="Confirmar Alteração"></form></div></main><?php include_once("_incluir/rodape.php");?></body></html>
CÓDIGO QUE NÃO FUNCIONA. (Lista tudo certinho, mas não altera, nem traz o estádo pré-checado).
Pergunta
netocazuza
Gostaria que alguém me ajudasse a encontrar erro num código. Estou fazendo um curso na net, e tentando adaptar o código que funciona para ir aprimorando a aprendizagem. Então vou colocar dois códigos aqui, onde um funciona o outro não. O que funciona é o do curso com mais campos. O que fiz foi apenas adaptar esse código que funciona para uma quantidade bem menor, e ver se funciona. Os dois códigos abre o formulário, aparentemente consultam o banco com sucesso, porém só o original está alterando, certamente por algum erro meu. Mas já olhei trocentas vezes, postei dúvida lá no curso, e o cara não responde, então estou parado na aprendizagem por conta disso. Basicamente é um formulário de cadastro de transportadoras onde o usuário altera os dados de uma transportadora através desse formulário. Esse tá funcionando tudo certinho. Tentei reproduzir esse mesmo formulário, porém apenas com dois campos (cidade e estado), e mesmo assim não funciona. Lista certinho, mas não altera, por isso acho que é um erro simples. Segue os dois códigos pra que comparem:
CÓDIGO QUE FUNCIONA:
CÓDIGO QUE NÃO FUNCIONA. (Lista tudo certinho, mas não altera, nem traz o estádo pré-checado).
Link para o comentário
Compartilhar em outros sites
0 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.