Visualizzazione dei risultati da 1 a 9 su 9
  1. #1

    Data - 7gg in Php o Mysql

    Salve, quesito probabilmente classico.


    Quale è il migliore modo per selezionare tutti gli ordini contenuti in un data base 7 giorni precedentemente ad una data indicata $date='24-09-2009';

    Credo si possa fare sia in MySql che in Php.

  2. #2
    Utente di HTML.it
    Registrato dal
    Feb 2008
    Messaggi
    813
    se non stai usando il campo DATE di mysql o una rappresentazione della data con il timestamp di unix, non credo che sia cosa semplice
    Nell'anno 1968 è bastata la potenza di due Commodore 64 per lanciare con successo una navicella sulla Luna; nell'anno 2007 ci vogliono la potenza di un processore quad core 3.30 GHz e 3 Gb di RAM (requisiti minimi ufficiali) per utilizzare Windows Vista. Qualcosa deve essere andato storto!

  3. #3
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,923

    Re: Data - 7gg in Php o Mysql

    Originariamente inviato da Sergio L
    Salve, quesito probabilmente classico.


    Quale è il migliore modo per selezionare tutti gli ordini contenuti in un data base 7 giorni precedentemente ad una data indicata $date='24-09-2009';

    Credo si possa fare sia in MySql che in Php.
    Quindi nel tuo esempio vorresti solo gli ordini del 17?

    Se hai usato un campo di tipo date è sufficiente fare

    select * from tabella where campo_data = '2009-09-24' - interval 7 day

    se invece vuoi gli ordini compresi tra il 17 e il 24

    codice:
    select * from tabella
    where campo_data 
    between '2009-09-24' - interval 7 day and '2009-09-24'

  4. #4
    Utente di HTML.it L'avatar di neroux
    Registrato dal
    Aug 2009
    Messaggi
    1,973
    Direi di convertirlo nell'Unix timestamp e sottrarre 604800 (86400 secondi in un giorno per 7).

    www.sitemeer.com » Quando un sito pare irraggiungibile

    Se ti piace ci puoi trovare anche su Facebook

  5. #5
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,923
    Originariamente inviato da neroux
    Direi di convertirlo nell'Unix timestamp e sottrarre 604800 (86400 secondi in un giorno per 7).
    In php potrebbe usare strtotime()

    Codice PHP:
    echo date('Y-m-d',strtotime('2009-09-24 -7 day')); 
    ma se deve lavorare su mysql fa prima con le funzioni apposite di gestione delle date.

  6. #6
    La data è inserita in un campo MySql definito "date" quindi è possibile operare anche in MySql, ad ogni modo strtotime() credo sia una ottima soluzione.


    Posso fare così?


    $giorno='24-9-2009';
    $giornomenosette= date('d-m-Y',strtotime('$giorno -7 day'));

  7. #7
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,923
    No, strtotime() si aspetta una data nel formato aaaa-mm-gg. E comunque se dici di dover fare una ricerca sul database fai prima a sfruttare il mio primo suggerimento senza scomodare il php.

  8. #8
    'interval -7' provo subito e ti dico

  9. #9
    Ovviamente perfetto, grazie

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.