Jump to content
Fórum Script Brasil
  • 0
Sign in to follow this  
netocazuza

achar erro no código.

Question

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>
        <meta charset="UTF-8">
        <title>Curso PHP INTEGRACAO</title>
        
        <!-- estilo -->
        <link href="_css/estilo.css" rel="stylesheet">
        <link href="_css/alteracao.css" rel="stylesheet">
    </head>

    <body>
        <?php include_once("_incluir/topo.php"); ?>
        
        <main>  
            <div id="janela_formulario">
                <form action="alteracao.php" method = "post">
                    <h2>Alteração de Transportadoras</h2>
                    <label for="nometransportadora">Nome da Transportadora</label>
                    <input type = "text" value = "<?php echo utf8_encode( $info_transportadora["nometransportadora"]) ?>" name = "nometransportadora" id = "nometransportadora">
                    <label for="endereco">Endereço</label>
                    <input type = "text" value = "<?php echo utf8_encode( $info_transportadora["endereco"]) ?>" name = "endereco" id = "endereco">
                    <label for="cidade">Cidade</label>
                    <input type = "text" value = "<?php echo utf8_encode( $info_transportadora["cidade"]) ?>" name = "cidade" id = "cidade">
                    <label for="estados">Estados</label>
                    <select id = "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>
                    <label for="cep">CEP</label>
                    <input type = "text" value = "<?php echo ( $info_transportadora["cep"]) ?>" name = "cep" id = "cep">
                    <label for="telefone">Telefone</label>
                    <input type = "text" value = "<?php echo utf8_encode( $info_transportadora["telefone"]) ?>" name = "telefone" id = "telefone">
                    <label for="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"] ?>">
                    <input type = "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).

<?php require_once("conexao/conexao.php"); ?>
<?php
    if( isset($_POST["nomeCidade"]) ) {
        $nomeCidade       = utf8_decode($_POST["nomeCidade"]);
        $estado     = $_POST["estados"];
        $cID        = $_POST["cidadeID"];
        
        // Objeto para alterar
        $alterar = "UPDATE cidades ";
        $alterar .= "SET ";
        $alterar .= "nomeCidade = '{$nomeCidade}', ";
        $alterar .= "estadoID = {$estado} ";
        $alterar .= "WHERE cidadeID = {$cID} ";
        $operacao_alterar = mysqli_query($conecta, $alterar);
        if(!$operacao_alterar) {
            die("Erro na alteracao");   
        } else {
            header("location:alterarCidades.php");   
        }
        
    }

    // Consulta a tabela de cidades
    $tr = "SELECT * ";
    $tr .= "FROM cidades ";
    if(isset($_GET["codigo"]) ) {
        $id = $_GET["codigo"];
        $tr .= "WHERE cidadeID = {$id} ";
    } else {
        $tr .= "WHERE cidadeID = 1 ";
    }
    
    $con_cidade = mysqli_query($conecta,$tr);
    if(!$con_cidade) {
        die("Erro na consulta");
    }

    $info_cidade = mysqli_fetch_assoc($con_cidade);
    

    // 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>
        <meta charset="UTF-8">
        <title>Alteração Cidades</title>
        <!-- estilo -->
        <link href="_css/estilo.css" rel="stylesheet">
        <link href="_css/alteracao.css" rel="stylesheet">

    </head>

    <body>
        <?php include_once("_incluir/topo.php"); ?>
        

        <main>
            <div id="janela_formulario">
                <form action="alteracaoCidades.php" method="post">
                    <h2>Alteração de Cidades</h2>
                    
                    <label for="nomeCidade">Nome da Cidade</label>
                    <input type="text" value="<?php echo utf8_encode($info_cidade["nomeCidade"])  ?>" name="nomeCidade" id="nomeCidade">
                    <label for="estados">Estados</label>
                    <select id="estados" name="estados"> 
                        <?php 
                            $meuestado = $info_cidade["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>
                    <input type="hidden" name="cidadeID" value="<?php echo $info_cidade["cidadeID"] ?>">
                    <input type="submit" value="Confirmar alteração">                    
                </form>   
            </div>
        </main>

        <?php include_once("_incluir/rodape.php"); ?>
    </body>
</html>

Share this post


Link to post
Share on other sites

0 answers to this question

Recommended Posts

There have been no answers to this question yet

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

Cloud Computing


  • Forum Statistics

    • Total Topics
      148417
    • Total Posts
      643832
×
×
  • Create New...