Jump to content
josenilson

Função Update

Recommended Posts

Boa galera !

 

Estou tentando realizar um update em dois campos de uma tabela utilizando a função abaixo, um eu insiro o valor  1 e outro quero inserir a data e a hora atual, porem esta dando erro, porem me mostrar o que esta de errado ?

 

obrigado . 

 

function FinalizarJornada ($Cad_Jornada,$idCad_Jornada ){
	$pdo = conectar();
	
	try {

		
$update = $pdo->prepare("UPDATE cad_jornada set FinalizarJornada = '1', DataJornadaFinalizada = date format('Y-m-d H:i:s') WHERE idCad_Jornada = :idCad_Jornada ");
	    $update->bindValue('idCad_Jornada', $idCad_Jornada);
	    $update->execute();
   
       if ($update->rowCount()> 0):
       		return true;
       else:
       		return false;
       endif;
   
	} catch(PDOException $erro) {
		echo "ERRO AO FINALIZAR A JORNADA" . $erro->getMessage();
   
	}
}

segue o erro  ao tentar realizar o update . 

ERRO AO FINALIZAR A JORNADASQLSTATE[42000]: Syntax error or access violation: 
1064 You have an error in your SQL syntax; check the manual that corresponds to 
your MySQL server version for the right syntax to use near 'format('Y-m-d H:i:s') WHERE idCad_Jornada = '74'' at line 1

 

Share this post


Link to post
Share on other sites

Creio que o erro esteja aqui

<?php
	$update = $pdo->prepare("UPDATE cad_jornada set FinalizarJornada = '1', DataJornadaFinalizada = date format('Y-m-d H:i:s') WHERE idCad_Jornada = :idCad_Jornada ");
	$update->bindValue('idCad_Jornada', $idCad_Jornada);
	$update->execute();
?>

no date format dentro da query

 

faça assim

<?php

$data = date('Y-m-d H:i:s', time());
	$update = $pdo->prepare("UPDATE cad_jornada set FinalizarJornada = '1', DataJornadaFinalizada = :final WHERE idCad_Jornada = :idCad_Jornada ");
	$update->bindValue(':idCad_Jornada', $idCad_Jornada);
	$update->bindValue(':final', $data);
	$update->execute();

?>

 

 

Share this post


Link to post
Share on other sites
5 minutos atrás, alexalannunes disse:

Creio que o erro esteja aqui


<?php
	$update = $pdo->prepare("UPDATE cad_jornada set FinalizarJornada = '1', DataJornadaFinalizada = date format('Y-m-d H:i:s') WHERE idCad_Jornada = :idCad_Jornada ");
	$update->bindValue('idCad_Jornada', $idCad_Jornada);
	$update->execute();
?>

no date format dentro da query

 

faça assim


<?php

$data = date('Y-m-d H:i:s', time());
	$update = $pdo->prepare("UPDATE cad_jornada set FinalizarJornada = '1', DataJornadaFinalizada = :final WHERE idCad_Jornada = :idCad_Jornada ");
	$update->bindValue(':idCad_Jornada', $idCad_Jornada);
	$update->bindValue(':final', $data);
	$update->execute();

?>

 

Muito Obrigado,  Pela ajuda, porem ao gravar na tabela a hora ficou assim : 

2017-06-16 19:02:21

 

  • +1 1

Share this post


Link to post
Share on other sites
2 minutos atrás, alexalannunes disse:

@josenilson ja passei por isso

 

eu sou do Ceará

 

use isso de acordo com o horario de seu estado


<?php

date_default_timezone_set('America/Fortaleza');

?>

 

Eu uso esse date_default_timezone_set('America/Fortaleza');

já no aquivo de conexao.php

 

Share this post


Link to post
Share on other sites
2 minutos atrás, alexalannunes disse:

 

Então ficaria ?

date_default_timezone_set('America/Salvador');

 

Poder ser coisa do Wamp que devo estar usando, ou seja, quando colocar o sistema no servidor web deve resolver . 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • By camisbales
      Olá,
      preciso resolver o seguinte exercício:
      Uma professora de programação, cansada de que os estudantes cheguem tarde, decidiu que vai cancelar a aula se há poucos presentes.
      Ela representa a entrada dos estudantes como um array de tempos de chegada tarde, em minutos. Por exemplo, se um estudante chegou 10 minutos atrasado, outro 5 minutos antes da hora, outro com 3 minutos de atraso, e outro pontual, poderá representar assim:
      var alunosDaSegunda = [10, -5, 3, 0];
      Com essa informação e a quantidade mínima de estudantes para que suceda o curso, a professora quer saber se a aula acontecerá. Por exemplo, supondo que a quantidade mínima de estudantes para que a aula aconteça é de 2 alunos, então o curso da segunda-feira se realizará, porque houve um estudante que foi pontual e um estudante que chegou cedo.
       acontece(alunosDaSegunda, 2)
      true
      Mas se a quantidade mínima fosse 3, a aula não aconteceria:
       acontece(alunosDaSegunda, 3)
      false
      Escreva as seguintes funções: 1. acontece, que diz se a aula sucederá de acordo com o array dos estudantes que entraram. 2. aberturas, que utiliza um array com os arrays dos estudantes que entraram nos outros dias, e a quantidade mínima de estudantes, e diga quais os dias em que as aulas aconteceram e quais não. Por exemplo:
      aberturas([alunosDaSegunda, alunosDaTerça, alunosDaQuarta], 2)
      [true, false, false]
      A seguir o código que eu escrevi e os erros apresentados:
      function acontece (alunosDia, quorum){
          let resultado = [];
          for (let i = 0; i < alunosDia.length; i++){
          if (alunosDia <= 0){
          resultado.push (alunosDia);}
          if (resultado.length >= quorum) {
          return true;}
          }
      }
          
      function aberturas (alunosDia, quorum){
          let resultadoArray = [];
          for (let i = 0; i < alunosDia.length; i++){
          resultadoArray.push(acontece(alunosDia, quorum));
          }
      }
      ERROS
      acontece([10, -5, 3, 0], 4) - deveria retornar false;
       acontece([10, -5, 3, 0], 3 - deveria retornar false;
       aberturas([[0, 0, 3, 0], [1, 2, 4, 5], [0, 0, -1]], 3) - undefined deepEqual [ true, false, true ];
       aberturas([[0, 0, -3, 0], [1, 2, 4, 5], [0, 0, -1]], 4) - undefined deepEqual [ true, false, false ].
       
    • By carlosguimaraes1801
      Olá,
       
      Gosto muito de programação, mas comecei a programar a pouco tempo.
      Recentemente decidimos fazer uma grande modificação no site da empresa na qual sou sócio.
       
      Deu tudo certo, mas achei uma limitação no LearnPress, o plugin de gerenciamento de cursos que utilizamos. Gostaríamos de exibir os preços parcelados abaixo do valor integral de cada curso cadastrado no LearnPress.
       
      Como não encontrei nenhum add-on ou algo pronto na internet, criei a seguinte function que calcula o preço parcelado de cada curso, com valor mínimo da parcela de R$9,00 e a adicionei ao arquivo functions.php do Wordpress.
       
      Eu testei a function e ela funcionou perfeitamente.
       
      <?php /*------------------CALCULA O PREÇO PARCELADO------------------*/ function installment_price_course($nparcelas, $sale_price) { $sale_price = (float)$sale_price; $pparcelado = $sale_price/$nparcelas; if ($sale_price < 9) { $nparcelas = 1; $pparcelado = $sale_price; echo $nparcelas.' x R$ '.number_format($pparcelado, 2, ",", ".").' sem juros'; } else { if ($pparcelado >=9) { $nparcelas = 12; echo $nparcelas.' x R$ '.number_format($pparcelado, 2, ",", ".").' sem juros';} else { for ($nparcelas = 12; $nparcelas >= 1; $nparcelas--) { $pparcelado = $sale_price/$nparcelas; if ($pparcelado >= 9) { break; } } echo $nparcelas.' x R$ '.number_format($pparcelado, 2, ",", ".").' sem juros'; } } } /> No entanto, ao chamar a function com os parâmetros (12, $price) aparecem o seguinte erros:
       
      Warning: A non-numeric value encountered in /home/.../eduma-child/functions.php on line 101 1x R$ Warning: number_format() expects parameter 1 to be float, string given in /home/.../eduma-child/functions.php on line 106 sem juros  
      Pensei que poderia ser que a variável $price fosse uma string. Então inseri o seguinte trecho na function para converter a string em float:
      <?php $sale_price = floatval($sale_price); ?> Após inserir esse trecho o erro desapareceu mas o valor parcelado mostrado é 0. O estranho é que se eu substituo o parâmetro variável por um número qualquer, ele retorna o valor parcelado corretamente.
       
      Segue o código da página de curso.
       
      <?php defined( 'ABSPATH' ) || exit(); $user   = LP_Global::user(); $course = LP_Global::course(); $class = ''; $class .= ( $course->has_sale_price() ) ? ' has-origin' : ''; if ( $course->is_free() ) {     $class .= ' free-course'; } if ( ! $price = $course->get_price_html() ) {     return; } ?> <div class="course-price">     <div class="value <?php echo $class;?>">         <?php if ( $course->has_sale_price() ) { ?>             <span class="course-origin-price"> <?php echo $course->get_origin_price_html(); ?></span>         <?php } ?>         <?php echo $price; ?>     </div>     <span style="font-size: 14px; font-weight: normal"><?php installment_price_course (12, $price);?></span> </div> ?>  
      --------- Atualização ---------
      Também notei que se eu defino uma variável $price2 e atrubuo um valor qualquer a ela, posso usá-la sem problemas como parâmetro da function. Ex.:
       
      (installment_price_course (12, $price);  
      Além disso, a variável $price está ok e ela mostra o preço integral do curso normalmente. Testei-a com o echo $price e está ok.
       
      ------------------
       
      Alguém poderia me ajudar? Será que isso que estou tentando fazer de colocar uma variável na chamada da function é incorreto?
      Preciso muito solucionar este problema.
       
      Desde já agradeço a atenção de todos.
    • By TFernandes89
      Bom dia, preciso atualizar uma linha do meu banco de dados validando duas colunas diferentes... estou tentando da seguinte forma:
       
      update produn set prun_margem=prun_margem + 1 from produtos where prod_codigo=prun_prod_codigo and prun_unid_codigo='003' and prun_unid_codigo='050' and prod_grup_codigo='10003'  
      Tenho que atualizar a margem em +1 somente quando se tratar do grupo (prod_grup_codigo) 10003 e nas unidades (prun_unid_codigo) 003 e 050, dessa forma que estou tentando não me da erro, porem não atualiza nada, e se eu tiro a unidade 050 ele atualiza na unidade 003 normalmente.
    • By ayrtonmaia25
      Pessoal, tô com uma big dúvida e tô perdido, sem saber o que fazer. Me iniciei no PHP há uns 10/15 anos atrás e pelo menos os últimos 5, passei sem trabalhar com desenvolvimento e não me atualizei com a nova versão do PHP e agora tô enfrentando algumas dificuldades, enfim... Preciso fazer um update de várias linhas no banco de dados. Os dados vem de uma lista de forms com uma paginação e preciso que o update atualize os dados das 10 linhas que são listadas por vez. Segue o código da página, dá pra vocês terem uma noção melhor
      <?php $pagina = (isset($_GET['pagina']))? $_GET['pagina'] : 1; //seleciona todos os itens da tabela $cmd = $conn->query("select prod_id from produtos"); $produtos = $cmd->fetch(); //seta a quantidade de itens por página $registros = 10; //variavel para calcular o início da visualização com base na página atual $inicio = ($registros*$pagina)-$registros; // Variáveis para cor da linha $contacor = 0; $cor1 = ""; $cor2 = "#E0E0E0"; echo "<form class=\"form-group\" method=\"post\" action=\"?pagina=".$pagina."&act=up\">"; //seleciona os itens por página $data = $conn->query('SELECT * FROM produtos ORDER BY prod_id LIMIT '.$inicio.','.$registros.''); while($row = $data->fetch()) { $contacor++; // Se o contador for par if($contacor % 2 == 0){ $color = $cor1; } else { $color = $cor2; } ?> <div class="row mb-3" style="background:<?php echo $color; ?>;"> <div class="col-md-3 p-3 text-center"> <img src="images/produtos/<?php echo $row['prod_img']; ?>" class="img-fluid" style="max-height:200px;"> </div> <div class="col-md-9 p-3"> <p class="lead"> <b class="text-primary">ID do produto: <?php echo $row['prod_id']; ?></b> </p> <p class="lead"> <input type="text" class="form-control" id="form44" placeholder="Título para o produto" name="nome[<?php echo $row['prod_id']; ?>]" value="<?php echo $row['prod_title']; ?>"> </p> <p class="form-check text-primary"> <input type="checkbox" class="form-check-input" name="destaque" id="destaque[<?php echo $row['prod_id']; ?>]"<?php if($row['prod_high']=="yes"){echo " checked"; } ?>> <label class="form-check-label" for="exampleCheck1"><b>Produto em destaque</b></label> </p> </div> </div> <?php } ?>  
    • By Icaro Luan
      error
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.