Jump to content
Rafaelax

Trazer data certa e criar dois campos de date no mysql

Recommended Posts

Oi queridos,

Não sou programadora e nem entusiasta de programação, apenas altero algumas coisas no meu programa que tenho de cadastro de clientes. Coisas básicas vamos dizer;

Para facilitar tudo, quando o programa foi criado, foi feito um campo de data automático no banco de dados como abaixo.

`date` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP

 

Funciona bem para o que preciso, mas ele traz a data nesse formato: 2020-03-25 00:20:03

Data no formato ano/mês/dia e eu queria no formato tradicional dia/mês/ano.

Só para levar em conta. eu trago a data para visualizar em um campo normal de inpunt com o value="[date]"

Esse acima é um dos problemas que quero resolver com a parte da data.

 

Já a segunda questão é justamente envolvendo essa data automática, pois qualquer edição que faço ele atualiza a data e o horário. Perfeito. Mas perco a data de cadastro original do cliente. É possível eu ter um outro campo de data automático mas que apenas grave o cadastro e não  atualize automaticamente nas edições?

 

Eu queria que uma data fosse do cadastro e não atualizasse e outra data continuasse como está, apenas fazendo a inversão.

Não adianta eu colocar a data manual no cadastro, pois pessoas colocam datas diferentes das do dia do cadastro.

 

Share this post


Link to post
Share on other sites

Olá, basta criar um campo no seu banco de dados do tipo date.

 

No momento que faz o insert do cliente, você pode usar usar a função date do PHP para inserir a data atual. O campo date no banco fica no formato americano(Y-m-d - 2020-03-29), assim basta usar no php conforme o exemplo abaixo.

$dataCadastro = date('Y-m-d');
// depois passa a variável acima para inserir no campo date que você criou

Para mostrar no formato brasileiro posteriormente, basta apenas usar a função strtotime, exemplo.

Share this post


Link to post
Share on other sites
4 horas atrás, marcosmarcolin disse:

Olá, basta criar um campo no seu banco de dados do tipo date.

 

No momento que faz o insert do cliente, você pode usar usar a função date do PHP para inserir a data atual. O campo date no banco fica no formato americano(Y-m-d - 2020-03-29), assim basta usar no php conforme o exemplo abaixo.


$dataCadastro = date('Y-m-d');
// depois passa a variável acima para inserir no campo date que você criou

Para mostrar no formato brasileiro posteriormente, basta apenas usar a função strtotime, exemplo.

Mas como eu escrevi acima, o campo date já está inserido no banco de dados, e as datas ele coloca automaticamente.

O que quero e trazer no value a data correta.

Share this post


Link to post
Share on other sites

Mas é esse o problema, como você comentou, esse campo é um TIMESTAMP, ou seja, ele se atualiza a qualquer alteração no registro.

Você mesmo comentou a solução, precisar criar um campo data_cadastro que será inserido o valor(DATA ATUAL) apenas na inserção do registro, e só.

 

== Agora, para pegar somente a data do seu campo TIMESTAMP, segue abaixo:

$data = '2020-03-25 00:20:03'; // valor que vem do banco
$dataNova = substr($data, 0, 10); // pega apenas os 10 primeiros digitos, ou seja, 2020-03-25
$dataFormatoBR = date("d/m/Y", strtotime($dataNova)); // 25/03/2020

É isso?

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 Erick Plant
      Olá! Precisando de uma ajudinha.
       
      FICAREI MUITO GRATO PELA AJUDA...SE PUDEREM ME DAR UMA LUZ!
       
      Estou arrumando um código que foi de outra pessoa, mas antes disso, preciso "apagar o incêndio" aqui e fazer funcionar uma implementação.
       
      Tenho um dropzone que carrega um arquivo sem necessidade de form. O problema começa por agora. Foi-me pedido para que eu implementasse um select trazendo do banco uma info e que enviasse via get 'junto com a url que envia as informaçoes do arquivo'.
      O carregador do select foi feito, eu estou pegando o value do select dinamicamente, pois não tem form.
      Porém, o problema é q nao sei como pegar esse value capturado para implentá-lo  na url via get.
       
       
      o js  e o dropzone na pag é esse:
      //AQUI EU PEGO O VALOR DO SELECT DE FORMA DINÂMICA id = ''; $(document).ready(function () { $("#seguimento").change(function () { id = $('#seguimento').val(); }); }); Dropzone.autoDiscover = false; Dropzone.options.tstDz = { //////////////////////////////////////////////////////// //AQUI O DROPZONE QUE PASSA OS PARAMETROS VIA GET /////////////////////////////////////////////////////// url: "<?= base_url('homeCgmrr/MonitoramentoPadraoDesempenho/addDoc?ambiente='.$ambiente.'&value='); ?>", paramName: "arquivo", maxFilesize: 2, acceptedFiles: ".xlsx,.ods,.xls,.csv", addRemoveLinks: true, // init: function () { // this.on("complete", function (file) { // setGallery(file); // }) // } init: function () { this.on('error', function(file, response) { $.notify("Você não pode fazer upload de arquivos com essa extensão, apenas arquivos .xlsx !", 'warning'); }); this.on('success', function(file, resp){ if(resp['status'] == false){ $.notify("Ocorreu erro no preenchimento da planilha. Por favor, verifique e tente novamente.", 'warning'); setGalleryError(file); }else{ setGallery(file); $.notify("Arquivo enviado com Sucesso!", 'success'); } }); } };  
      Como eu posso fazer pra carregar o id SE o base_url está em PHP?
      url: "<?= base_url('homeCgmrr/MonitoramentoPadraoDesempenho/addDoc?ambiente='.$ambiente.'&value='AQUI VAI O ID); ?>",  
      Obrigado pela ajuda!
       
    • By Elisame Araújo
      Bom dia,
       
      Estou montando um site de clã de jogos online (especificamente de Battlefield), e neste momento estou desenvolvendo o painel de administração do site, mas me deparei com uma dúvida que não consigo encontrar uma situação na internet que se aplique ao que eu preciso.
       
      A situação é a seguinte:
       
      Eu tenho um módulo onde o administrador vai adicionar um mapa, um tamanho de jogo e um modo para a rotação do servidor do clã, a exemplo desse pop-up:
       
      A lista de mapas vem do BD.
       
      O que eu preciso é que o segundo e o terceiro <select> sejam preenchidos baseados na seleção do primeiro. Onde, a exemplo:

       
      Seleção de Mapa: Ilhas Lofoten
      Opções Disponíveis a partir do 1º Select: 16 e 32 Jogadores
      Opções Disponíveis a partir do 1º e 2º Select: Dominação, TDM, etc.
       
      Para ficar mais simplificado: Seleção 1 > Opções A Partir de Seleção 1 > Opções A partir de Seleção 1 e 2
       
      Infelizmente eu ainda não tenho conhecimento em JavaScript ou JQuery ou JSON - ainda estou para aprender -, e não consigo encontrar uma resposta simplificada para isso
       
      Como eu poderia fazer isso da maneira mais simples ou didática?
       
    • By violin101
      Caros amigos, saudações...
       
      Estou com um pequeno problema de paginação.
       
      Tenho uma tabela de HISTÓRICO onde toda a movimentação que for realizada com o Produto o sistema grava nessa tabela do MySql.  <<=== até aqui tudo bem
       
      O problema é o seguinte:
       
      quando exibo todos os dados na Tabela da seguinte forma, o sistema faz a conta corretamente.
      DATA MOV        HISTÓRICO                                           QTDE     SALDO
      01/11/2020......Saldo Inicial.........................................100 +      100
      02/11/2020......Venda conf. Compr. n.0001...............   30 -          70
      02/11/2020......Devol. conf. Compr. n.0002...............   10 +         80
      02/11/2020......Venda conf. Compr. n.0003...............   15 -          65
      =====================================================
      ESTOQUE ATUAL DO PRODUTO...............................................65
       
       
      Quando faço a paginação o resultado da TABELA fica assim:
      PÁGINA 1
      DATA MOV        HISTÓRICO                                           QTDE     SALDO
      01/11/2020......Saldo Inicial.........................................100 +      100
      02/11/2020......Venda conf. Compr. n.0001...............   30 -         70
       
      =====================================================
       
      PÁGINA 2
      DATA MOV        HISTÓRICO                                           QTDE     SALDO
      02/11/2020......Venda conf. Compr. n.0002...............   10 +          10
      02/11/2020......Venda conf. Compr. n.0003...............   15 -           - 5
       
      ======================================================
       
      Como faço para passar o Resultado final da Página ,1 para a Página 2  e etc ?
       
      Abaixo posto o Código que estou usando.
       
      Controller
      //Função para Visualizar e Paginar Histórico de Produtos function history($id = null) { if (!$this->permission->checkPermission($this->session->userdata('permissao'), 'rProduto')) { $this->session->set_flashdata('error', 'Você não tem permissão para visualizar o histórico do produto.'); redirect(base_url()); } //URL para fazer paginação $url_hist = $id!=NULL ? base_url('admin/produtos/history/'.$id) : base_url('admin/produtos/history/'.$id); /**Paginação*/ $get_total_results = $this->produtos_model->getHistory($id); $tot_histores = $get_total_results['total']; $get_paginar = $this->pagina_history($url_hist, $tot_histores, 2); $get_produtos = $this->produtos_model->getHistory($id, $get_paginar['inicio'], $get_paginar['final']); $this->load->view('estilo/header', $this->data); $this->load->view('admin/produtos/history', array("results" => $get_produtos['dados'], "paginar" => $get_paginar['paginacao']) ); } /*Função para paginar*/ public function pagina_history($url_pagination, $tot_histores, $result_hist_pagina=2){ $this->load->library('table'); $this->load->library('pagination'); $config['base_url'] = $url_pagination; $config['total_rows'] = $tot_histores; $config['per_page'] = $result_hist_pagina; $config['page_query_string'] = TRUE; $config['next_link'] = 'Próxima'; $config['prev_link'] = 'Anterior'; $config['full_tag_open'] = '<div class="pagination alternate"><ul>'; $config['full_tag_close'] = '</ul></div>'; $config['num_tag_open'] = '<li>'; $config['num_tag_close'] = '</li>'; $config['cur_tag_open'] = '<li><a style="color: #2D335B"><b>'; $config['cur_tag_close'] = '</b></a></li>'; $config['prev_tag_open'] = '<li>'; $config['prev_tag_close'] = '</li>'; $config['next_tag_open'] = '<li>'; $config['next_tag_close'] = '</li>'; $config['first_link'] = 'Primeira'; $config['last_link'] = 'Última'; $config['first_tag_open'] = '<li>'; $config['first_tag_close'] = '</li>'; $config['last_tag_open'] = '<li>'; $config['last_tag_close'] = '</li>'; $qtidade = $config['per_page']; $this->pagination->initialize($config); $dados['final'] = $qtidade; $dados['inicio'] = $this->input->get('per_page') != NULL ? $this->input->get('per_page') : '0'; $dados['paginacao'] = $this->pagination->create_links(); return $dados; }  
      MODEL:
      //Função de Busca Histórico do Produto function getHistory($id=null, $inicio=NULL, $quantidade=NULL){ $inicio = $inicio != NULL ? "LIMIT {$inicio},{$quantidade}" : ""; $numClie = $this->session->userdata('idCli'); //Executa SQL no Mysql $sql = $this->db->query("SELECT historico.*, produtos.*, clientes.*, marcas.* FROM historico INNER JOIN produtos ON produtos.idProdutos = historico.prd_idProdutos INNER JOIN clientes ON clientes.idClientes = historico.clie_idClientes INNER JOIN marcas ON marcas.idmarcas = produtos.marcas_idmarcas WHERE historico.prd_idProdutos = $id AND historico.clie_idClientes = $numClie ORDER BY idhistorico ASC {$inicio} "); $dados['inicio'] = $inicio; $dados['total'] = $sql->num_rows(); $dados['dados'] = $sql->result_array(); return $dados; }  
      VIEW:
      <?php defined('BASEPATH') OR exit('No direct script access allowed'); $this->load->view('admin/tema/topo'); ?> <div class="content-wrapper"> <!-- Content Header (Page header) --> <section class="content-header"> <div class="container-fluid"> <div class="row mb-2"> <div class="col-sm-6"> <h1>Histórico do Produto</h1> </div> <div class="col-sm-6"> <ol class="breadcrumb float-sm-right"> <li class="breadcrumb-item"><a href="<?php echo base_url()?>admin/">Home</a></li> <li class="breadcrumb-item active">Histórico do Produto</li> </ol> </div> </div> </div><!-- /.container-fluid --> </section> <?php if (!$results) { ?> <section class="content"> <div class="container-fluid"> <div class="row"> <div class="col-12"> <div class="card"> <div class="card-header"> <a href="<?php echo base_url() ?>admin/produtos" id="" class="btn btn-danger"> <i class="fa fa-undo"></i> Voltar </a> </div> <div class="card-body"> <table id="tab_histprd" class="table table-bordered table-hover"> <thead style="background: #cecece;"> <tr> <th style="text-align:center;">Data Lançamento</th> <th style="text-align:center;">Nr Dcto</th> <th style="text-align:center;">Histórico do Produto</th> <th style="text-align:center;">Movimentação</th> <th style="text-align:center;">Resultado</th> </tr> </thead> <tbody> <tr> <td colspan="5" style="text-align:center;"> <img src="<?php echo base_url()?>assets/img/logo_mail.png" alt="" style="height:100%; margin: 50px 40px;"> </td> </tr> </tbody> </table> </div> <!-- /.card-body --> </div> <!-- /.card --> </div> <!-- /.col --> </div> <!-- /.row --> </div> <!-- /.container-fluid --> </section> <?php } else { ?> <section class="content"> <div class="container-fluid"> <div class="row"> <div class="col-12"> <div class="callout callout-success"> <h5> <strong><?php echo $results[0]['cod_interno']; ?> - <?php echo $results[0]['descricao']; ?> - <?php echo $results[0]['mrc_descr']; ?></strong> </h5> </div> <div class="card"> <div class="card-body"> <form id="frmHist" action="<?php echo base_url(); ?>admin/relatorios/imprHistory" method="post"> <div class="row"> <div class="col-lg-3"> <label for="dataInicial">Data Início:&nbsp;<span class="required">*</span></label> <div class="controls"> <input type="date" name="dataInicial" value="" class="form-control" style="width:70%;" required /> </div> </div> <div class="col-lg-3" style="margin-left:-70px;"> <label for="dataFinal">Data Final:&nbsp;<span class="required">*</span></label> <div class="controls"> <input type="date" name="dataFinal" value="" class="form-control" style="width:70%;" required /> </div> </div> <div class="col-lg-3" style="margin-left:-75px; margin-top:31px;"> <input type="hidden" id="idPrd" name="idPrd" value="<?php echo $results[0]['idProdutos']; ?>" /> <input type="hidden" id="idInt" name="idInt" value="<?php echo $results[0]['cod_interno']; ?>" /> <button type="submit" class="btn btn-success" formtarget="_blank"> <i class="fa fa-print"></i> Imprimir </button> &nbsp;&nbsp; <a href="<?php echo base_url() ?>admin/produtos" id="" class="btn btn-danger"><i class="fa fa-undo"></i> Voltar</a> </div> </div> <div class="clearfix"></div> <br/> <table id="tab_histprd" class="table table-bordered table-hover"> <thead style="background: #cecece;"> <tr> <th style="text-align:center;">Data Lançamento</th> <th style="text-align:center;">Nr Dcto</th> <th style="text-align:center;">Histórico do Produto</th> <th style="text-align:center;">Movimentação</th> <th style="text-align:center;">Resultado</th> </tr> </thead> <tbody> <?php $saldo = 0; foreach ($results as $r) { //Converte Data para Padrão Brasileiro $dta_hist = date(('d/m/Y'), strtotime($r['dtahist'])); if ($r['credito'] == 0) { $mvts = number_format($r['credito'], 0, ",", "."); $corc = '#000000'; } else { $mvts = number_format($r['credito'], 0, ",", ".").' +'; $corc = '#080871'; } if ($r['debito'] == 0) { $mvto = number_format($r['debito'], 0, ",", "."); $cors = '#000000'; } else { $mvto = number_format($r['debito'], 0, ",", ".").' -'; $cors = '#AF0F0F'; } //Executa Cálculo entre CRD x DEB $saldo = ($r['credito'] - $r['debito']) + $saldo; $result = number_format($saldo, 0, ",", "."); //Mostra da Tabela echo '<tr>'; echo '<td width="70" height="10" style="text-align:center;">' .$dta_hist. '</td>'; echo '<td width="70" height="10" style="text-align:left;">' .$r['numdcto']. '</td>'; echo '<td width="240" height="10" style="text-align:left;">' .$r['historico']. '</td>'; if($mvts != 0){ echo '<td width="90" height="10" style="text-align:right; color:'.$corc.'"> <strong>'.$mvts.'</strong></td>'; } elseif($mvto != 0) { echo '<td width="90" height="10" style="text-align:right; color:'.$cors.'"> <strong>'. $mvto.'</strong>&nbsp;</td>'; } else { echo '<td width="90" height="10" style="text-align:right;">0</td>'; } echo '<td width="90" height="10" style="text-align:right;">'.$result.'</td>'; echo '</tr>'; }//Fim do Foreach ?> </tbody> </table> <?php echo $paginar; ?> </form> </div> <!-- /.card-body --> </div> <!-- /.card --> </div> <!-- /.col --> </div> <!-- /.row --> </div> <!-- /.container-fluid --> </section> <?php } ?> </div> <?php $this->load->view('estilo/footer'); ?>  
       
      Grato a todos.
       
      Atenciosamente,
       
      Cesar
    • By landerbadi
      Olá pessoal, boa noite
       
      Tenho uma tabela no banco de dados mysql com três colunas (id, audio, tocado) e um player de audio html5 simples.
       
      <audio controls>
        <source src="horse.ogg" type="audio/ogg">
        <source src="horse.mp3" type="audio/mpeg">
      </audio>
       
      Fiz uma consulta no bd para me retornar um (1) registro. Com base nessa consulta o player toca o audio correspondente.
      Preciso fazer com que após o término do audio seja gravado na coluna 'tocado' no bd a palavra 'OK'.
      Tem como fazer isso?
×

Important Information

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