Ir para conteúdo
gersonab

[Resolvido] insert de array em pdo, dúvida na data.

Recommended Posts

há tempos utilizo para cadastrar data no BD a instrução :

implode('-',array_reverse(explode('/',$data)))


com isso no input posso colocar 09/02/2019 e no banco de dados grava 2019-02-09 , até ai sem problemas, porém ao atualizar um sistema para pdo, estou com problema no insert dinâmico, onde posso fazer 1 ou mais inserts, da forma abaixo cadastro quantos eu quiser :

$sql = "INSERT INTO cantos ( id_t, id_c, data, ca, cant, po, des) VALUES (:id_t, :id_c, :data, :ca, :cant, :po, :des)"; 
            $stmt = $pdo->prepare($sql);
            foreach($_POST['idp'] as $indice => $valor) {
            $stmt->bindParam(':id_t', $_POST['id_tor'][$indice], PDO::PARAM_STR);
            $stmt->bindParam(':id_c', $_POST['idp'][$indice], PDO::PARAM_STR);
            $stmt->bindParam(':data', $_POST['data'][$indice], PDO::PARAM_STR);
            $stmt->bindParam(':ca', $_POST["ca"][$indice], PDO::PARAM_STR);
            $stmt->bindParam(':cant', $_POST['cant'][$indice], PDO::PARAM_STR);
            $stmt->bindParam(':po', $_POST['po'][$indice], PDO::PARAM_STR);
            $stmt->bindParam(':des', $_POST['des'][$indice], PDO::PARAM_STR);
            
                if ($stmt->execute()){
                    echo "Cadastrado com sucesso.";
            }


no entento a data vai no formato do input 09/02/2019.
caso utilize :

$stmt->bindParam(':data', implode('-',array_reverse(explode('/',$_POST['data'][$indice]))), PDO::PARAM_STR);


tenho o erro Strict standards: "Only variables should be passed by reference in "que significa "Apenas as variáveis podem ser passadas por referência"
qual a melhor forma de se fazer neste caso ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

se ela já vem no formato 09/02/2019 dá um explode nela e monta em uma nova variável

foreach($_POST['idp'] as $indice => $valor) {

     $old_date = explode("/",$_POST['data'][$indice]);
     $new_date = $old_date[2]."-".$old_date[1]."-".$old_date[0];

     $stmt->bindParam(':id_t', $_POST['id_tor'][$indice], PDO::PARAM_STR);
     $stmt->bindParam(':id_c', $_POST['idp'][$indice], PDO::PARAM_STR);
     $stmt->bindParam(':data', $new_date, PDO::PARAM_STR);

Compartilhar este post


Link para o post
Compartilhar em outros sites

Resolvi tratando as mesmas antes 

foreach($_POST['idp'] as $indice => $valor) {
$st= $_POST['data'][$indice];
$dat01=implode('-',array_reverse(explode('/',$st)));
...
..
}

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora

  • Conteúdo Similar

    • Por martinazzo
      não consigo apagar, então deixei assim... se alguém conseguir por favor
    • Por MateusOFCZ
      Olá, eu criei uma página de publicidade, porém não fluiu como eu queria, então coloquei essa página em uma DIV, alguém poderia me informar se irá funcionar caso eu faça um sistema para ocultar essa DIV depois de 10 segundos?

       
      <!--- Publicidade ------> <div id="publicidadediv"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> <title><?= $config['hotelName'] ?> - Publicidade</title> <script src="/templates/GalaxyServers/client/js/jquery-latest.js" type="text/javascript"></script> <script src="/templates/GalaxyServers/client/js/jquery-ui.js" type="text/javascript"></script> <script src="/templates/GalaxyServers/client/js/spacehotel2018.js"></script> <script src="/templates/GalaxyServers/client/js/flash_detect_min.js"></script> <script src="/templates/GalaxyServers/client/js/client.js" type="text/javascript"></script> <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css"> <link rel="icon" type="image/png" href="<?= $config["favicon"];?>"> </head> <body> <body style="background-color:black;"> <center><img src="https://i.imgur.com/kHdzpqq.png" style="width:396px;height:91px;"></center> <center><?php $imagens = array(); $imagens[] = '<a href="https://hobbyhotel.club/hotel?room=255" target="_blank"><img src="https://i.imgur.com/O0gSito.png" style="width:330px;height:250px;"></a>'; $imagens[] = '<a href="https://hobbyhotel.club/hotel?room=255" target="_blank"><img src="https://i.imgur.com/O0gSito.png" style="width:330px;height:250px;"></a>'; $chave = array_rand($imagens); $imagem = $imagens[$chave]; echo $imagem; ?></center> <center><img src="https://i.imgur.com/9FH4A5O.png" style="width:396px;height:91px;"></center> </body> </div> <!--- Publicidade ------> Gostaria de sabem também como faço para ocultar tudo isso após X segundos...
    • Por Francklyn Souza
      Bom, vou direto ao ponto, alguém saberia me dizer como resolver esse problema ou aviso seila
       
      Warning: Cannot modify header information - headers already sent by (output started at /srv/disk8/2953546/www/dominio.com/security/funcao.php:1) in /srv/disk8/2953546/www/dominio.com/security/config.php on line 7
       
      Arquivo.: config.php
      if(isset($_GET['lang'])): $lang = $_GET['lang']; $_SESSION['lang'] = $lang; setcookie('lang', $lang, time() + (3600 * 24 * 30)); elseif(isset($_SESSION['lang'])): $lang = $_SESSION['lang']; elseif(isset($_COOKIE['lang'])): $lang = $_COOKIE['lang']; else: $lang = "en"; endif; switch ($lang) { default: include "dice/language/lang_eng.php"; break; case "pt": include "dice/language/lang_ptbr.php"; break; case "en": include "dice/language/lang_eng.php"; break; }  
    • Por MateusOFCZ
      Olá, estou desenvolvendo um sistema de publicidade para meu site, e quando entra em uma página, vamos chama-la de "Publicidade" ele mostra uma publicidade e depois de 10 segundos ele redireciona (OBS.: Essa página já está funcionando 100%), e temos outra página que vamos chama-la de "Início", bom... Quando você entrar na página "Início" ele irá na verdade, redirecionar o usuário para a página de Publicidade, porém, como faço para a pessoa não poder pular essa publicidade, como se fosse um camuflador de página, ou seja, se o usuário acessar a página ele irá para a página "imasters.com.br/publicidade", porém se ele alterar o link para "imasters.com.br/inicio" ele irá obrigar o usuário a ver a publicidade primeiro para depois leva-lo a página de "Inicio", caso isso seja complexo de fazer, teria alguma forma de esconder o nome da página (a parte do "/inicio" por exemplo), e deixar apenas o link, por exemplo, se eu ir para a página de publicidade irá aparecer apenas o link, neste caso "imasters.com.br", e não "imasters.com.br/publicidade", caso tenha alguma dúvida sobre o meu pedido pode perguntar, não mordo rs.

      Deis de já agradeço!
×

Informação importante

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