Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

  • 0
Rijkaard

Interação Formulário, PHP e MySQL

Pergunta

Amigos, estou fazendo um trabalho pro bono para um serviço público, e estou há dias tentando descobrir qual o problema do meu código. Se alguém puder me ajudar, agradeço demais.

O formulário é esse:

<html>

<style>

::-webkit-input-placeholder  { color:#CDCDCD; }
input:-moz-placeholder { color:#CDCDCD; }
textarea:-moz-placeholder { color:#CDCDCD; }

</style>


<form name="saque" action="https://equadsaude.000webhostapp.com/bancodados_atualizar.php" method="POST">

<table>

<tr>
<td>Processo</td>         </tr>

<tr>
<td><input name="n1" placeholder="somente algarismos"></td>
</tr>

<tr>
<td>Valor total sacado</td>   </tr>

<tr>
<td><input name="n4" placeholder="00000.00"></td>
</tr>

<tr>
<td>Observações e Data </td> </tr>

<tr>
<td><input type="text" name="n3" ></td>
</tr>

<tr>
<td col span="3"><input type="submit" name="submit" value="Atualizar"></td>
</tr>
</table>
</form>
</html>

E o arquivo .php (que está no servidor local) que ele deveria chamar é esse:

<?php

$conectar = new mysqli("localhost","id1019345_dados_zzzz","xxxx", "id1019345_sobras") or die(mysqli_error());

$processo = $_POST[ 'n1' ] ;
$valor_sacado = $_POST[ 'n4' ] ;
$observacoes = $_POST[ 'n3' ] ;

//variavel de teste do POST no banco de dados
$teste = mysqli_query($conectar, "SELECT 'id' FROM 'Tab_Index' WHERE 'Processo' = '$processo' ");
while (mysqli_num_rows($conectar, $teste) == 0)
{
echo "<p>Não existe o registro informado. Verifique novamente no Banco de Dados.</p>";  exit(mysqli_error());
}


//variavel para cálculo do Valor da Sobra no banco de dados
$sql_seleciona = mysqli_query($conectar, "SELECT 'Valor_sobra' FROM 'Tab_Index' WHERE 'Processo' = '$processo' ");
while ($query_row = mysqli_fetch_assoc($conectar, $sql_seleciona))
    {
    foreach($query_row as $key => $value)
                       {
                       $resultado = $value-$valor_sacado;
                       }
    }

//variavel para selecao das Observacoes no banco de dados
$sql_seleciona2 = mysqli_query ($conectar, "SELECT 'Observacoes' FROM 'Tab_Index' WHERE 'Processo' = '$processo' ");
while ($query_row2 = mysqli_fetch_assoc($conectar, $sql_seleciona2))
    {
    foreach($query_row2 as $key => $value)
                       {
                       $resultado2 = $query2."/". $observacoes;
                       }
               
     }

//Update do banco de dados
$sql_alterar = mysqli_query($conectar, "UPDATE 'Tab_Index' SET 'Valor_sobra' =  '$resultado1', 'Observacoes' =  '$resultado2' WHERE 'Processo' = '$processo' ");

if  ( isset ($sql_alterar) )
{
print "<h3> Valor da sobra atualizado com sucesso </h4>\n" ;
}
else 
{ 
print "<h3> Erro ao atualizar </h4>\n" ;
}


  ?>

O problema é que sempre aparece a mensagem " Não existe o registro informado. Verifique novamente no Banco de Dados.", que eu coloquei como aviso caso não encontrasse nada no Banco de Dados.

Só que mesmo quando eu coloca um número de Processo que existe no banco de dados, ele segue dando essa informação. E se eu retiro do script essa conferência, aparece a mensagem final "Valor de sobra atualizado com sucesso", como se houvesse ocorrido o Update do banco de dados, mas quando vou conferir no Banco de dados, nada foi alterado.

 

Impressão que eu tenho é que a interação com o banco de dados não está ocorrendo, por algum motivo que não sei qual é.

 

A tabela na DB tem 4 colunas: id, Processo (BIGINT), Valor_sobra (DECIMAL 7,2), Observacoes (VARCHAR). 

HOST: localhost USERNAME: id1019345_dados_zzzz SENHA: xxxx DB: id1019345_sobras

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

3 respostas a esta questão

Recommended Posts

$teste = mysqli_query($conectar, "SELECT id FROM Tab_Index WHERE Processo = '$processo'"); 
if (mysqli_num_rows($teste) == 0)
{
	echo "<p>Não existe o registro informado. Verifique novamente no Banco de Dados.</p>";  exit(mysqli_error());
}

Tente substituir seu código por esse!

Compartilhar este post


Link para o post
Compartilhar em outros sites

tire as aspas simples de nomes de colunas e tabelas

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eziquiel e Fernando: fiz ambas as alterações, e o problema segue o mesmo... Será que é alguma coisa na configuração da coluna Processo, do Banco de Dados? Ela está configurada como BIGINT, Attributes: unsigned ,  Null: No ,Defaut: None

Compartilhar este post


Link para o post
Compartilhar em outros sites

  • Conteúdo Similar

    • Por gersonab
      Boa noite a todos, gostaria da ajuda de vcs, tenho um loop while dentro de uma janela modal, eu preciso q este seja dividido em duas colunas, pois esta ficando um pouco extenso, este lista opções que tenho no BD, fazendo os checkbox.
      estrutura .
      <div class="row"> <div class="col-md-12 ml-auto"> <label for="recipient-name" class="col-form-label">Opções:</label> <?php $curc4 = $pdo->query("SELECT * FROM opcoes ORDER BY opcao asc"); while ($lic4 = $curc4->fetch(PDO::FETCH_ASSOC)) { ?> <div class="checkbox-dark m-squar"> <input type="checkbox" name="opcao[]" id="opcao" value="<?php echo $lic4['opcao']; ?>"> <label class="mt-0" ><?php echo $lic4['opcao']; ?></label> </div> <?php } ?> </div> </div> no momento com 22 itens cadastrados, gostaria de mostrar duas colunas de 11 itens, desde já agradeço.
    • Por gersonab
      Boa tarde.
      estou com dificuldades para formar uma lógica, tenho um sistema onde faço o cadastro de parcelas conforme pedido pelo cliente, até aí sem problema, só que, só que se na hora o cliente resolver fazer à vista , eu não consigo editar, pois o número de parcelas seriam 0.
      <?php if(($parcpg === 0 ) || ( $parcpg === '')){ // caso não tenha parcela $valorparcelado = 0; } elseif (($jurospg === 0) || ($jurospg === '')){ // caso não tenha juros $valorparcelado = $valent / $parcpg; // caso parcela seja 0 ou nula dá erro aqui } else { $jurospg1 = $jurospg / 100; $nump = ($parcpg * 30); $nump4 = $nump + 30; $nump2 = $nump4 / 2; $nump22 = ($jurospg1 / 30) * $nump2; $valormedio = $nump22 * $valent; $valente = $valent + $valormedio; $valorparcelado = $valente / $parcpg;// caso parcela seja 0 ou nula dá erro aqui } ?> o erro só ocorre na edição.
       
    • Por gersonab
      Boa tarde
      tenho uma tabela com alguns itens e seus respectivos valores, preciso atualizar esses valores caso necessite.
      tipo:
      id - tip - descricao - valor
      1 -  1   - descrição - 2,00
      2 -  1   - descrição -12,00
      3 -  1   - descrição - 22,00
      4 -  2   - descrição - 2,00
      5 -  2   - descrição - 2,00
      6 -  2   - descrição - 2,00
       
      o  que eu quero fazer é atualizar conforme o tip , por exemplo , atualizar os valores do tip = 1 em 15%, assim ele atualizaria todos do tip 1 em 15%
    • Por gersonab
      utilizo um script para fazer upload de vários arquivos, só que agora foi solicitado para zipar o mesmo ao fazer o upload, pra ser sincero ja verifiquei vários tutoriais e não estou conseguindo.
      segue o script do upload funcionando sem o zip
       
      <?php if (!isset($_SESSION)) session_start(); require_once('config.php'); error_reporting(E_ALL ^ E_NOTICE ^ E_DEPRECATED); $idpr=$_POST['idpr']; $fotoprof=$_POST['fotoprof']; $foproc=$_POST['foproc']; $diretorio = "../files/"; $arquivo = $_FILES['foto']; for ($controle = 0; $controle < count($arquivo['name']); $controle++){ $nome = ($idpr."-P-".$arquivo['name'][$controle]); $values .= " ('{$nome}', '{$fotoprof}', '{$idpr}'),"; $destino = $diretorio."/".$idpr."-P-".$arquivo['name'][$controle]; move_uploaded_file($arquivo['tmp_name'][$controle], $destino); } $values=substr($values, 0, -1); $sql_fotos = "INSERT INTO fotos ( foto, fotoprof, fotoidpr ) VALUES $values"; //executa a query $executa = mysqli_query($con,$sql_fotos); ?> desde já agradeço qq ajuda.
    • Por Ross Risso
      Tenho uma tabela pedidos com o campo forma de pagamento -  formpag - ele é uma combox que o usuário escolhe se o pagamento vai ser em dinheiro ou ou depósito em banco, na hora de criar o pedido.
      Nessa tabela também existe o campo total. O que necessito é buscar em uma consulta o total de todos os pedidos e mostrar separadamente na mesma consulta o total em dinheiro e em depósito.
      $qr="SELECT dataped, formpag, total  FROM tblpedidos  GROUP BY MONTH(dataped)"; $sqli=mysqli_query($conn,$qr); while($ln = mysqli_fetch_assoc($sqli)){} Como faço para obter a soma de "total" quando? Exemplo:
      JANEIRO  quando formpag for dinheiro - total em dinheido - quando formpag for depósito - total em depósito.
      JANEIRO total em dinheiro $ 100,00 - total em depósito $ 50,00. E assim por diante: FEVEREIRO, MARÇO e etc.
      espero ter sido claro. Agradeço a atenção de todos.
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.