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

    operazioni con gli orari PHP e SQL

    Ciao, come faccio sia in php che in sql a sommare due orari?
    es: ho il campo ora_prenotazione e durata_prenotazione. Come faccio a dirgli di cancellare il record dove l'ora corrente è uguale o maggiore di ora_prenotazione + durata_prenotazione?

    Oppure potrei direttamente inserire nel database l'ora in cui deve cancellarsi il record e qui dovrei farlo in php. Come fare tempo corrente + durata prenotazione (richiamati da un form) in php? E, una volta richiamati, come faccio a confrontarli (es. $ora_ora >= $fine_prenotazione)?

    Spero di essere stato chiaro... grazie!
    Flash Developer for Rich Media
    PHP, jQuery Developer

  2. #2
    Utente di HTML.it
    Registrato dal
    Mar 2004
    Messaggi
    1,141
    Se ad esempio la tua 'durata di prenotazione' è un numero(1,5,100 inteso come giorni per esempio), potresti fare:
    codice:
    DELETE FROM tabella
    WHERE CURRENT_TIME >= DATE_ADD( `ora_prenotazione` , INTERVAL `durata_prenotazione` DAY )
    prova a vedere se va bene..(sinc non l'ho provata,sorry)

    ciao

  3. #3
    Originariamente inviato da ken84
    è un numero(1,5,100 inteso come giorni per esempio),
    ma a me interessa un orario
    Flash Developer for Rich Media
    PHP, jQuery Developer

  4. #4
    Utente di HTML.it L'avatar di VaLvOnAuTa
    Registrato dal
    Jun 2002
    Messaggi
    2,003
    La soluzione data da ken84 è esatta.
    Ora dipende da cosa intendi tu per "orario".

    La durata della prenotazione dovrebbe essere calcolata (secondo logica) in un intervallo di tempo (2 ore, 10 giorni, 20 minuti o simili) e basta modificare la stringa SQL per ottenere il risultato che si vuole.

  5. #5
    per ora intendo confrontare l'orario nell'istante in formato 00:00:00 con quello della durata nello stesso formato

    es: 16:05:46 >= 11:25:35 + 00:30:00 ?
    Flash Developer for Rich Media
    PHP, jQuery Developer

  6. #6
    Utente di HTML.it
    Registrato dal
    Mar 2004
    Messaggi
    1,141
    una cosa del genere?
    codice:
    DELETE FROM tabella
    WHERE CURRENT_TIME >= DATE_ADD( `ora_prenotazione` , INTERVAL `durata_prenotazione` MINUTE )
    funziona se nel campo `durata_prenotazione` avrai valori interi (da 1 a 59)...

    ciao

  7. #7
    e se sommando i minuti vengono fuori delle ore? non ne tiene conto? a questo punto meglio farlo in php, ma come?
    Flash Developer for Rich Media
    PHP, jQuery Developer

  8. #8
    Utente di HTML.it
    Registrato dal
    Mar 2004
    Messaggi
    1,141
    scusa,fai una prova:
    codice:
    SELECT `ora_prenotazione`,DATE_ADD( `ora_prenotazione` , INTERVAL `durata_prenotazione` MINUTE ) as sommaData FROM tabella
    e vedi se restituisce quello che vuoi...


    ciao

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 © 2024 vBulletin Solutions, Inc. All rights reserved.