Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2005
    Messaggi
    101

    Problema con php e date

    Io ho un problema con il mio DB mysql.

    partendo da 2 date, una di inizio e una di fine, devo controllare nel db se sono già presenti delle inserzioni.
    Sia settimanalmente che mensilmente.

    Esempio:

    settimanalmente partendo da martedì 26 settembre 2006 fino al 18 ottobre 2006:
    mi dovrebbe controllare:
    martedì 26 sett, martedì 03 ottobre, martedì 10 ottobre e martedì 17 ottobre.


    mensilmente partendo da martedì 26 settembre 2006 fino al 18 gennaio 2007:
    mi dovrebbe controllare:
    martedì 26 sett, martedì 26 ottobre, martedì 26 novembre e martedì 26 dicembre.

    come faccio a realizzarlo in modo dinamico avendo solo:
    data inizio
    data fine
    mensilmente o settimanalmente
    ?

    thanks for help

  2. #2
    Ciao, ti procuri il timestamp della data di inizio (es. $timest_init = gmmktime(0,0,0,09,25,2006) ) e di quella di fine.
    Se il controllo è settimanalmente aggiungi al timestamp di inizio il valore ( 60 * 60 * 24 * 7 ), equivalente ad una settimana in secondi, fino a che tale valore è inferiore al timestamp di fine.

    Nel caso l'avanzamento sia di un mese la situazione è un po + complessa in quanto ad esempio il giorno 31 non c'è sempre
    Inoltre non funziona come hai scritto: ..."martedì 26 sett, martedì 26 ottobre, martedì 26 novembre e martedì 26 dicembre..." perchè il 26 non sarà sempre di martedì .

    Supponendo che tu voglia avanzare di un mese esatto ti conviene prendere il numero del mese di partenza e sommare uno. Crei il timestamp con il nuovo mese e controlli i dati.
    Ad esempio per controllare 3 mesi (compreso quello di partenza):


    Codice PHP:
    $mese $start_mese;

    for(
    $x 0$x <= 2 $x++)
    $mese += $x
       
    $timest_controllo gmmktime(0,0,0,$mese,$giorno,$anno);
      
    controlla($timest_controllo);

    Non preoccuparti se il mese di partenza è dicembre...mi sembra che per php il mese 13 sia gennaio dell'anno dopo
    In questo caso devi solo stare attento ai mesi che hanno 31gg e quelli da 30gg ( e febbraio ).



    ciaooooo

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.