Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Bom dia, pode parecer meio "bobo" o negócio... mas estou meio que quebrando a cabeça.
Preciso fazer uma consulta, partindo da data atual me traga os registros, calculando pela data de inicio fechando 6 meses.
Ex:
Digamos que eu tenha isso no BD
campo_inicio
1 2014-03-24
2 2014-03-24
3 2014-03-24
4 2014-05-15
5 2014-05-28
6 2014-08-16
7 2014-09-22
data_atual
2014-09-24
A consulta deverá me trazer os registros 1, 2 e 3... pois fecharam os 6 meses. Se alguém conseguir me dar uma luz... pensei algo como NOT IN e BETWEEN para não trazer resultados do "futuro", somente os do "passado".
Não sei se é bem isso que preciso... a minha consulta é essa:
$data_atual = date('Y-m-d') //2014-09-24
SELECT * FROM clientes WHERE inicio NOT BETWEEN '2014-03-24' AND '$data_atual'
O meu problema é conseguir a variável com o resultado de a data atual - 6 meses atrás para colocar na consulta... que seria 2014-03-24.
Buenas tchê.
Faz o seguinte:
SELECT * FROM clientes WHERE inicio <= DATE_ADD(CURDATE(), INTERVAL -6 MONTH);Tente assim:
$data_atual = date("Y-m-d");
$data_anterior = date("Y-m-d", strtotime("-6 month"));
$sql = "SELECT * FROM clientes WHERE inicio NOT BETWEEN '$data_anterior' AND '$data_atual'";Mas que barbaridade... estava lendo sobre o add e o sub dates (http://www.w3schools.com/sql/func_dates.asp) mas não estava sendo muito específico como usar em uma consulta com condições.
Usei o seu query Marlon, o estranho que não trouxe resultados... mas acho que é isso aí. Vou fazer uns testes.
obs: Pq está de pijama?? Dale Inter :D
Alex... era isso que eu estava querendo antes. Vou testar, valeu.
Grande @Cazzeri (bah tchê, tu é colorado? Se soubesse não tinha tentado ajudar. heheheh).
Brincadeiras à parte, é estranho, pq eu peguei os valores que você postou e inseri em uma tabela q eu fiz aqui e rodei a mesma consulta. Retornaram os IDs 1, 2 e 3.
A opção do @allex_carvalho também é válida, só muda o "lugar" que vai processar.
Sim Marlon, testando direto no banco local, alterei algumas datas colocando março, janeiro... deu certo, era bem isso: < que -6 meses referente a data atual. Com o php acredito que a solução do Allex tbm vá dar certo.
1 x 0 pra ti Marlon, mas só em SQL né... nem vou falar em grenais pra não ficar chato pra ti, já que tu é um Moderador trainee rsrsrs.
:clap:
pesquise sobre datediff.