MiguelTb 2 Denunciar post Postado Fevereiro 11, 2011 Boa noite galera, Estou usando assim na minha tabela: Campo: data Tipo: TIMESTAMP Padrão: CURRENT_TIMESTAMP Na hora de inserir os dados no tabela não to sabendo como devo preencher, deixo em branco que nem o ID? pra ele preencher automatico? como funciona? Valeu galera. Compartilhar este post Link para o post Compartilhar em outros sites
InterPlanet 7 Denunciar post Postado Fevereiro 11, 2011 No caso, preenche sim, automatico. Detalhe: o valor retornado será algo como 2011-02-11 20:20:56. Data e hora. Se o campor for uma data mesmo o ideal é usar DATE e inserir a data na query do INSERT. Compartilhar este post Link para o post Compartilhar em outros sites
MiguelTb 2 Denunciar post Postado Fevereiro 11, 2011 InterPlanet mas no caso como deixo aqui: $sqlinsert = "INSERT INTO hei_colunas (titulo, coluna, autor, data, cliques, idautor, link) VALUES ('$titulo', '$content', '$nome', 'date', '1', '$id', 'teste') "; Aproveitando o post aqui + uma duvidasinha. Eu tenho a pagina nova_coluna.php que tem o formulario pra escrever a coluna e nessa pagina se eu der echo $_SESSION['nome'] ele retorna meu nome. e tenho a pagina publicar.php que é no action="publicar.php" do formulario da pagina nova_coluna, como posso gravar esse session do nome pra na página publicar.php ele vim com o nome registrado pra poder gravar no banco de dados? Compartilhar este post Link para o post Compartilhar em outros sites
William Bruno 1501 Denunciar post Postado Fevereiro 11, 2011 use a função nativa NOW() VALUES ('$titulo', '$content', '{$_SESSION['nome']}', NOW(), '1', '$id', 'teste') "; Compartilhar este post Link para o post Compartilhar em outros sites
InterPlanet 7 Denunciar post Postado Fevereiro 11, 2011 <?php // VOCE ESCOLHE O FORMATO: // Data no formato mysql: $data = date('Y-m-d'); // 2011-02-11 // Data no formato local (nosso): $data = date('d/m/Y'); // 11/02/2011 $sqlinsert = "INSERT INTO hei_colunas (titulo, coluna, autor, data, cliques, idautor, link) VALUES ('$titulo', '$content', '$nome', '".$data."', '1', '$id', 'teste') "; ?> Compartilhar este post Link para o post Compartilhar em outros sites
MiguelTb 2 Denunciar post Postado Fevereiro 11, 2011 William continua sem gravar a data e sem o nome da sessao. =/ InterPlanet vou tentar dessa forma, axo q é melhor mesmo. Compartilhar este post Link para o post Compartilhar em outros sites
InterPlanet 7 Denunciar post Postado Fevereiro 11, 2011 use a função nativa NOW() VALUES ('$titulo', '$content', '{$_SESSION['nome']}', NOW(), '1', '$id', 'teste') "; VALUES ('$titulo', '$content', '{$_SESSION[nome]}') "; sem aspas dentro dos colchetes do $_SESSION[]. Compartilhar este post Link para o post Compartilhar em outros sites
William Bruno 1501 Denunciar post Postado Fevereiro 11, 2011 seguinte, habilite as mensagens de erro, adicione o or die( mysql_error() ); e diga oque retornar deste echo: echo $sqlinsert; Compartilhar este post Link para o post Compartilhar em outros sites
MiguelTb 2 Denunciar post Postado Fevereiro 11, 2011 Po consegui dessa forma, vejam se tem algum problema ou se posso usar assim mesmo: <input type="hidden" name="nome" id="nome" value="<?php echo $_SESSION['nome'] .' '. $_SESSION['sobrenome']; ?>" /> <input type="hidden" name="idautor" id="idautor" value="<?php echo $_SESSION['id']; ?>" /> Compartilhar este post Link para o post Compartilhar em outros sites
InterPlanet 7 Denunciar post Postado Fevereiro 11, 2011 Beleza! Neste caso, como ce vai mandar o nome no post, na hora do INSERT: $sqlinsert = "INSERT INTO hei_colunas (titulo, coluna, autor, data, cliques, idautor, link) VALUES ('$titulo', '$content', '$_POST[nome]', '".$data."', '1', '$_POST[idautor]', 'teste') "; ou, claro, pode definir: // neste caso precisa das aspas dentro dos colchetes $nome = $_POST['nome']; $id = $_POST['idautor']; $sqlinsert = "INSERT INTO hei_colunas (titulo, coluna, autor, data, cliques, idautor, link) VALUES ('$titulo', '$content', '$nome', '".$data."', '1', '$id', 'teste') "; Compartilhar este post Link para o post Compartilhar em outros sites
William Bruno 1501 Denunciar post Postado Fevereiro 11, 2011 VALUES ('$titulo', '$content', '{$_SESSION[nome]}') "; sem aspas dentro dos colchetes do $_SESSION[]. isso vai gerar um notice/warning pois se tirar as aspas simples das chaves do session, o interpretador vai procurar por uma constante chamada 'nome', como não vai achar, vai assumir que é um nome, e se estiver mal configurado o teu php, pode 'dar certo'. o mesmo vale para o POST, não deixe de colocar aspas simples na chave do array. Compartilhar este post Link para o post Compartilhar em outros sites
MiguelTb 2 Denunciar post Postado Fevereiro 11, 2011 Ok o nome e o id foram resolvidos, o problema agora é a data, que ja mudei pra date e mesmo pegando $data = date('d/m/Y'); ele ta inserindo 0000-00-00 Po resolvi galera, axo que assim é até melhor antes ele iria publicar na data q a pessoa publicasse agora eu coloquei um campo: Publicar no data: <input name="data" type="text" value="<?php echo $data; ?>" size="40"> Dai quando for mandar pra listar as colunas eu mando listar apenas as que são <= o dia de hoje. outra coisa. Mas pra fazer essa verificação no futuro eu mando inserir como date mesmo? ou coloco VARCHAR? Retiro o que eu disse mesmo pegando o campo ali com a data ele nao ta gravando nao acredito que é algo na tabela que ta errada. Como deveria fazer? Pra publicar preenchendo com a data? Compartilhar este post Link para o post Compartilhar em outros sites
InterPlanet 7 Denunciar post Postado Fevereiro 11, 2011 Dai quando for mandar pra listar as colunas eu mando listar apenas as que são <= o dia de hoje. outra coisa. Mas pra fazer essa verificação no futuro eu mando inserir como date mesmo? ou coloco VARCHAR? Show! Se voce precisar comparar esta data no futuro, o correto é usar o tipo date e, neste caso, inserir a data no db no formato mysql (aaaa-mm-dd), se nao da erro. Claro, para exibir ao usuario do sistema é interessante mostrar em nosso formato, assim sempre que precisar exibir a data no seu sistema, precisara converter ela para o formato local. To caçando uma funcao aqui que converte estes formatos, posto já. Conversao de formato de data, melhore ai se achar necessario, mude o nome, etc: /* FORMATO DE DATA */ Function Geral_Data($Data = '', $Entrada = 'M', $Saida = 'L') { # Formatos de Entrada/Saida: # M => MySQL (formato do banco de dados) # L => Local (formato do Brasil) # P => PHP (formato usado nas comparacoes e operacoes de data) // Validacao $Formatos = Array('M', 'L', 'P'); If (empty($Data) || !is_string($Data) || $Entrada == $Saida || !in_array($Entrada, $Formatos) || !in_array($Saida, $Formatos)) { Return $Data; } // Conversao Switch ($Entrada) { Case 'L': $Data = explode('/', $Data); Switch ($Saida) { Case 'P': $RT = $Data[1].'/'.$Data[0].'/'.$Data[2]; Break; Case 'M': $RT = $Data[2].'-'.$Data[1].'-'.$Data[0]; Break; } Break; Case 'M': $Data = explode('-', $Data); Switch ($Saida) { Case 'P': $RT = $Data[1].'/'.$Data[2].'/'.$Data[0]; Break; Case 'L': $RT = $Data[2].'/'.$Data[1].'/'.$Data[0]; Break; } Break; Case 'P': $Data = explode('/', $Data); Switch ($Saida) { Case 'L': $RT = $Data[1].'/'.$Data[0].'/'.$Data[2]; Break; Case 'M': $RT = $Data[2].'-'.$Data[0].'-'.$Data[1]; Break; } Break; } Return $RT; } []s! Se nao for precisar comparar a data use varchar e insira no formato local mesmo. Compartilhar este post Link para o post Compartilhar em outros sites
MiguelTb 2 Denunciar post Postado Fevereiro 11, 2011 InterPlanet, e como seria? 0000-00-00 é isso? Se for como posso fazer a pessoa preencher no campo com a data no formato brasileiro, e na hora de enviar pro DB enviar no formato mysql? Compartilhar este post Link para o post Compartilhar em outros sites
InterPlanet 7 Denunciar post Postado Fevereiro 11, 2011 InterPlanet, e como seria? 0000-00-00 é isso? Se for como posso fazer a pessoa preencher no campo com a data no formato brasileiro, e na hora de enviar pro DB enviar no formato mysql? Voce deixa ele preencher em formato local mesmo, na hora de jogar no db, usando a funcao que postei, ce pode converter assim: $data = $_POST['data']; $data_mysql = Geral_Data($data, 'L', 'M'); // Converte de local para mysql. Use esta variavel no INSERT. Compartilhar este post Link para o post Compartilhar em outros sites
MiguelTb 2 Denunciar post Postado Fevereiro 11, 2011 Interplanet Nesse exemplo ai, no caso ele transforma automatico as / em - e já coloca na posição correta do MYSQL? é isso?! To perdido ashudasd, aonde eu devo inserir essa function no publicar.php e qual variavel correta pra mim mandar inserir no db? Aeeeeee cara, deu certo. Muito obrigado mesmo de coração. Abraços Compartilhar este post Link para o post Compartilhar em outros sites
InterPlanet 7 Denunciar post Postado Fevereiro 11, 2011 Interplanet Nesse exemplo ai, no caso ele transforma automatico as / em - e já coloca na posição correta do MYSQL? é isso?! To perdido ashudasd, aonde eu devo inserir essa function no publicar.php e qual variavel correta pra mim mandar inserir no db? Isso, essa funcao ja faz a conversao automatica. Hehe, findei complicando ne? :D Deculpe. Voce pode colar o codigo da funcao exatamente antes de usa-la, exemplo: /*** COLE A FUNCAO AQUI ***/ $data = $_POST['data']; $data_mysql = Geral_Data($data, 'L', 'M'); // Converte de local para mysql. Use esta variavel no INSERT. Interplanet Nesse exemplo ai, no caso ele transforma automatico as / em - e já coloca na posição correta do MYSQL? é isso?! To perdido ashudasd, aonde eu devo inserir essa function no publicar.php e qual variavel correta pra mim mandar inserir no db? Aeeeeee cara, deu certo. Muito obrigado mesmo de coração. Abraços Flw! Abraços e desculpe se compliquei ai! Compartilhar este post Link para o post Compartilhar em outros sites