pulao 0 Denunciar post Postado Janeiro 23, 2011 boa noite estou com uma duvida que é a seguinte, faço uma consulta sql e queria pegar o resultado para fazer um insert mas nao estou tendo muito sucesso. a consulta é a seguinte: mysql> SELECT DATE_ADD('2011-01-22', INTERVAL 7 DAY) +----------------------------------------+ | DATE_ADD('2011-01-22', INTERVAL 7 DAY) | +----------------------------------------+ | 2011-01-29 | +----------------------------------------+ para fazer essa consulta queria fazer dessa forma: select date_add($hoje, interval 7 day); daí o resultado passar pra uma variavel mas nao sei como fazer esse processo... caso possam me ajudar desde ja agradeço... Compartilhar este post Link para o post Compartilhar em outros sites
Andrey Knupp Vital 136 Denunciar post Postado Janeiro 23, 2011 Procura aqui .. acho que nao presisa nen de variavel http://lmgtfy.com.br/?q=MySQL+Current+Timestamp Compartilhar este post Link para o post Compartilhar em outros sites
André Severino 3 Denunciar post Postado Janeiro 23, 2011 ao inves de usar $hoje, use um NOW SELECT DATE_ADD(NOW(), INTERVAL 7 DAY) Compartilhar este post Link para o post Compartilhar em outros sites
Beraldo 864 Denunciar post Postado Janeiro 23, 2011 @pulao você postou SQL puro você quer resgatar o retorno da consulta numa variável PHP, certo? Já tem algo pronto? Explique exatamente onde tem dúvida Compartilhar este post Link para o post Compartilhar em outros sites
pulao 0 Denunciar post Postado Janeiro 23, 2011 eu tentei dessa forma $devolucao="SELECT DATE_ADD('$data_emprestimo', INTERVAL 7 DAY)"; $data=mysql_fetch_assoc($devolucao); $data_devolucao=$fetch['data_emprestimo']; mas acho que estou mto errado fazendo dessa forma! Compartilhar este post Link para o post Compartilhar em outros sites
André Severino 3 Denunciar post Postado Janeiro 23, 2011 No php, você sempre tem que utilizar um mysql_query($variavel), ele funciona como se fosse um 'enter' no mysql -d $devolucao = mysql_query("SELECT DATE_ADD('$data_emprestimo', INTERVAL 7 DAY)") or die("Erro: ".mysql_error()); $data = mysql_fetch_assoc($devolucao); $data_devolucao = $data['data_emprestimo']; Compartilhar este post Link para o post Compartilhar em outros sites
pulao 0 Denunciar post Postado Janeiro 23, 2011 dessa forma que voce postou nao funcionou.... Compartilhar este post Link para o post Compartilhar em outros sites
André Severino 3 Denunciar post Postado Janeiro 23, 2011 você fez a conexão com o banco de dados ? a variavel $data_devolucao realmente existe ? Compartilhar este post Link para o post Compartilhar em outros sites
Beraldo 864 Denunciar post Postado Janeiro 23, 2011 não funcionou pois o nome do campo retornado é "DATE_ADD...". Você tem que dar um nome ao campo: SELECT DATE_ADD('$data_emprestimo', INTERVAL 7 DAY) as valor depois use "valor" no índice do array retornado por fetch_assoc Compartilhar este post Link para o post Compartilhar em outros sites
pulao 0 Denunciar post Postado Janeiro 23, 2011 @pulao você postou SQL puro você quer resgatar o retorno da consulta numa variável PHP, certo? Já tem algo pronto? Explique exatamente onde tem dúvida entao @Beraldo, eu quero resgatar o resultado tenho o valor do dia de hoje e quero adicionar mais 7 dias e exibir esse resultado o que eu tenho esta logo abaixo mas nao esta dando certo... dessa forma? $devolucao="SELECT DATE_ADD('$data_emprestimo', INTERVAL 7 DAY) as valor"; $data=mysql_fetch_assoc($devolucao); $data_devolucao=$data['valor']; você fez a conexão com o banco de dados ? a variavel $data_devolucao realmente existe ? entao no caso nao preciso conectar veja bem select date_add($hoje, interval 7 day); eu quero apenas pegar o resultado desse select,,, que no caso seria dia 30 Compartilhar este post Link para o post Compartilhar em outros sites
-rafael- 1 Denunciar post Postado Janeiro 23, 2011 se você quer executar uma consulta, você deve envia-lá para o servidor de banco de dados o php nao faz consultas, quem faz consultas é o mysql, postgre, etc... e as envia devolta ao php, por mais simples que sejam e que não tenha acesso a dados Compartilhar este post Link para o post Compartilhar em outros sites
pulao 0 Denunciar post Postado Janeiro 23, 2011 se você quer executar uma consulta, você deve envia-lá para o servidor de banco de dados o php nao faz consultas, quem faz consultas é o mysql, postgre, etc... e as envia devolta ao php, por mais simples que sejam e que não tenha acesso a dados como posso resolver isso entao??? Compartilhar este post Link para o post Compartilhar em outros sites
Beraldo 864 Denunciar post Postado Janeiro 23, 2011 vocÊ quer SÓ fazer essa soma de tempo? se sim, por que usar BD? usa só PHP. veja: http://www.rberaldo.com.br/blog/2010/01/14/php-usando-a-classe-nativa-datetime/#add Compartilhar este post Link para o post Compartilhar em outros sites
pulao 0 Denunciar post Postado Janeiro 23, 2011 beraldo, como posso adaptar o seu script para o meu??? $DateTime->add( new DateInterval( "P30D" ) ); // --->> continuaria dessa forma e eu so mudaria os dias??? echo $DateTime->format( "d/m/Y" ) . ''; tentei dessa forma: $date=date('d/m/Y'); $date->add( new DateInterval( "P7D" ) ); // --->> continuaria dessa forma e eu so mudaria os dias??? echo $date->format( "d/m/Y" ) . ''; e deu esse erro: Fatal error: Call to a member function add() on a non-object in C:\wamp\www\teste.php on line 247 Compartilhar este post Link para o post Compartilhar em outros sites
Beraldo 864 Denunciar post Postado Janeiro 23, 2011 date() é uma função, não tem como usar o operador de onjeto -> Você tem que instanciar a classe DateTime para usar método add(). Compartilhar este post Link para o post Compartilhar em outros sites
pulao 0 Denunciar post Postado Janeiro 23, 2011 date() é uma função, não tem como usar o operador de onjeto -> Você tem que instanciar a classe DateTime para usar método add(). @Beraldo, nao sei como fazer isso. se puder me ajudar... o que eu queria é pegar a data de hoje e somar mais 7 dias a ela e deixar esse valor em uma variavel.... desde ja agradeço ! Compartilhar este post Link para o post Compartilhar em outros sites
Beraldo 864 Denunciar post Postado Janeiro 23, 2011 leia de novo o link que postei. Está tudo bem explicado. Ao instanciar DateTime (new DateTime), o objeto já terá a data atual. O primeiro exemplo adicionava 30 dias. É exatamente o que quer, basta trocar 30 por 7. A intenção aqui é ajudar, não postar o código pronto. Tente entender. Copiar e colar não é aprender :thumbsup: Compartilhar este post Link para o post Compartilhar em outros sites
-rafael- 1 Denunciar post Postado Janeiro 23, 2011 se você quiser usar o mysql para fazer essa conta, pesquise a função mysql_query() se quiser usar o php use a função strtotime(), que no caso acho melhor do que a classe DateTime do php (alias, nao vejo nada de bom nessa classe mas tudo bem) abraços Compartilhar este post Link para o post Compartilhar em outros sites
pulao 0 Denunciar post Postado Janeiro 23, 2011 Amigos resolvi de minha maneira ficou dessa forma obrigado pela ajuda de voces mas resolvi do jeito que achei melhor segue $hoje=date('Y-m-d'); $data=mysql_query("select interval 9 DAY + '$hoje' as valor"); $fetch=mysql_fetch_assoc($data); $mostra=$fetch['valor']; echo $mostra; Compartilhar este post Link para o post Compartilhar em outros sites
-rafael- 1 Denunciar post Postado Janeiro 23, 2011 hum, muito bom que resolveu por si mesmo. porem, considero que se você fizesse pelo php seria muito mais rápido, alem de causar menos acessos ao banco de dados, deixando ele mais aliviado. Compartilhar este post Link para o post Compartilhar em outros sites