Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Pessoal, estou quebrando a cabeça aqui pra tentar pegar a data e a hora do sistema para jogar no banco de dados (MySQL), só que não consigo. Todos os outros campos eu consigo incluir normalmente. Só isso que falta no código.
Estou postando a parte em PHP da página pra, caso alguém possa me ajudar, facilitar o entendimento de como está meu trabalho. Vale lembrar que tudo já está funcionando redondinho. Tudo vai para o banco certinho. Só está faltando fazer o lance da data e hora.
Agradeço desde já a todos pela atenção.
<?php
//<!--Edit: User[Marco Carvalho]-->
//Conecta no banco de dados
require_once("conecta.php");
header('Content-Type: text/html; charset=utf-8');
mysql_query("SET NAMES 'utf8'");
mysql_query('SET character_set_connection=utf8');
mysql_query('SET character_set_client=utf8');
mysql_query('SET character_set_results=utf8');
//configuração das miniaturas
$x = 97; //largura
$y = 70; //altura
$localDoUpload = "../upload/";
//verificação dos campos FILE
//verifica se o campo está vazio e se o arquivo não existe no servidor
if($_FILES['imagem']['name'] != ""){
if(file_exists($localDoUpload . $_FILES['imagem']['name'])) { $erros .= "<br />Imagem 1: Já Existe uma IMAGEM com esse nome!"; }
}else{ $erros .= "<br />Não deixe o campo vazio!"; }
// todos os campos necessários foram verificados e está tudo ok!
if($erros == "") {
//recebendo arquivo para upload
//manda o arquivo 1
if(move_uploaded_file($_FILES['imagem']['tmp_name'], $localDoUpload . $_FILES['imagem']['name'])) {
$arquivo_miniatura = $localDoUpload . "/mini/" . $_FILES['imagem']['name'];//caminho da miniatura
// lê a imagem de origem e obtém suas dimensões
$img_origem = ImageCreateFromJPEG($localDoUpload . $_FILES['imagem']['name']);
$origem_x = ImagesX($img_origem);
$origem_y = ImagesY($img_origem);
// cria a imagem final, que irá conter a miniatura
$img_final = ImageCreateTrueColor($x,$y);
// copia a imagem original redimensionada para dentro da imagem final
ImageCopyResampled($img_final, $img_origem, 0, 0, 0, 0, $x+1, $y+1, $origem_x , $origem_y);
// salva o arquivo
ImageJPEG($img_final, $arquivo_miniatura);
// libera a memória das duas imagens
ImageDestroy($img_origem);
ImageDestroy($img_final);
$erros .= "Arquivo enviado com sucesso!";
}else{
$erros .= "<br />Problemas com o envio do arquivo.";
}
//colocando os dados no banco de dados
$sql="INSERT INTO noticias (
id,
dia,
mes,
ano,
titulo,
pequena_descricao,
noticia_completa,
destacado,
imagem)
VALUES (
NULL,
'".$_POST["dia"]."',
'".$_POST["mes"]."',
'".$_POST["ano"]."',
'".$_POST["titulo"]."',
'".$_POST["pequena_descricao"]."',
'".$_POST["noticia_completa"]."',
'".$_POST["destacado"]."',
'".$_FILES['imagem']['name']."')";
//executa a gravação no BD
$resultado = mysql_query($sql, $conexao) or die(mysql_error());
//Detona todas as variáveis de POST
unset( $_POST["dia"],
$_POST["mes"],
$_POST["ano"],
$_POST["titulo"],
$_POST["pequena_descricao"],
$_POST["noticia_completa"],
$_POST["destacado"],
$_FILES['imagem']);
$erros = "Notícia Cadastrada com SUCESSO!";
}//endIf - se tudo estiver ok!
?>>
Tah mas em que momento ai no seu script vc está tentando colocar data e hora no seu banco, que pelo oke dah pra ver soh eh vc colocando separado o dia, mês e ano...
Quando vc utiliza o campo pra data e hora no mysql vc tem que seguir a estrutura dele, temos 3 tipos dos campos:
date: aaaa-mm-dd
time: hh:mm:ss
datetime: aaaa-mm-dd hh:mm:ss
basta apenas vc transformar o retorno do seu formulário para o modelo que vc estiver utilizando...
Eu aconselho utilizar o datetime que ele vc pode programar bem fácil publicações futuras, tipo vc lança uma matéria no seu sistema com data daki 5 horas pra frente e no seu select para mostrar no site vc manda ele buscar apenas a data que esteja menor igual a data atual...
exemplo:
<?php
$data_hora = date("Y-m-d H:i:s");
$sql = mysql_query("SELECT * FROM noticias WHERE data<='$data_hora'");
?>
Quero inserir a data e a hora logo após o campo de imagem.
Então cria o campo datetime no seu banco, dai vc só vai precisar transformar os valores ou se vc quiser que esse campo seje preenchido automaticamente pelo sistema basta apenas vc fazer o chamado da forma que eu escrevi
$data_hora = date("Y-m-d H:i:s");
>
Então cria o campo datetime no seu banco, dai vc só vai precisar transformar os valores ou se vc quiser que esse campo seje preenchido automaticamente pelo sistema basta apenas vc fazer o chamado da forma que eu escrevi
$data_hora = date("Y-m-d H:i:s");
Na verdade eu já tenho os campos criados. Tenho o campo data e tenho o campo hora (os dois são separados). O meu problema é não estar conseguindo jogar os valores para esses campos no BD. Gostaria de saber como pegar a data (separada) e a hora (também separada) e jogar o valor dessas variáveis para o banco BD.
Valeu pela força aí.
-
<?php
-
$datetime = '2013-02-25 12:11:00';
[list](http://www.php.net/list)( $date, $time ) = [explode](http://www.php.net/explode)( ' ', $datetime );
[echo](http://www.php.net/echo) '<p>Data: ' , $date , '</p>';
[echo](http://www.php.net/echo) '<p>Hora: ' , $time , '</p>';
?>
Tah mas em que momento ai no seu script vc está tentando colocar data e hora no seu banco, que pelo oke dah pra ver soh eh vc colocando separado o dia, mês e ano...
Quando vc utiliza o campo pra data e hora no mysql vc tem que seguir a estrutura dele, temos 3 tipos dos campos:
date: aaaa-mm-dd
time: hh:mm:ss
datetime: aaaa-mm-dd hh:mm:ss
basta apenas vc transformar o retorno do seu formulário para o modelo que vc estiver utilizando...
Eu aconselho utilizar o datetime que ele vc pode programar bem fácil publicações futuras, tipo vc lança uma matéria no seu sistema com data daki 5 horas pra frente e no seu select para mostrar no site vc manda ele buscar apenas a data que esteja menor igual a data atual...
exemplo: