Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

pulao

[Resolvido] Valor de uma consulta de data para variavel

Recommended Posts

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

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

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

dessa forma que voce postou nao funcionou....

Compartilhar este post


Link para o post
Compartilhar em outros sites

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

 

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

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

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, 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

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

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

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

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

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

×

Informação importante

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