Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 14
  1. #1
    Utente di HTML.it L'avatar di Tr|k`Tr4k
    Registrato dal
    Jul 2002
    Messaggi
    2,766

    Calcolare il numero di notti in base a data_arrivo e data_partenza

    ho questo comando per contarle:
    Codice PHP:
    $notti $riga['data_partenza'] - $riga['data_arrivo'];
    echo 
    $notti
    il problema e' che i giorni di febbraio me li conta come se il mese fosse di 31 giorni.
    I campi data_arrivo e data_partenza nel database sono di tipo date.
    Come mai non mi conta i 28 giorni?
    in pratica mi sballa le notti.

  2. #2
    hai questi dati nel database?

  3. #3
    Utente di HTML.it L'avatar di Tr|k`Tr4k
    Registrato dal
    Jul 2002
    Messaggi
    2,766
    Originariamente inviato da bubu77
    hai questi dati nel database?
    si, ma anche gli altri che mi servono per le altre cose
    se la data di arrivo e'
    25/01/2006 e quella di partenza e' 29/01/2006 lui mi calcola le 4 notti tranquillamente.
    Pero' i 28 giorni di febbraio li calcola come se fosse un mese di 31

  4. #4
    riporta le date in unix_timestamp fai la sottrazione e dividi per 86400

  5. #5
    una cosa tipo
    select (unix_timestamp(arrivo) - unix_timestamp(arrivo))/86400 from tabella

    ciao

  6. #6
    Utente di HTML.it L'avatar di Tr|k`Tr4k
    Registrato dal
    Jul 2002
    Messaggi
    2,766
    Originariamente inviato da bubu77
    una cosa tipo
    select (unix_timestamp(arrivo) - unix_timestamp(arrivo))/86400 from tabella

    ciao
    per esempio ho calcolato ora un mese di 30 giorni e mi calcola solo i giorni, per esempio 28 aprile, 2 maggio mi dice -28 giorni...

  7. #7
    Utente di HTML.it L'avatar di Tr|k`Tr4k
    Registrato dal
    Jul 2002
    Messaggi
    2,766
    Originariamente inviato da bubu77
    una cosa tipo
    select (unix_timestamp(arrivo) - unix_timestamp(arrivo))/86400 from tabella

    ciao
    come modifico il mio codice??
    Codice PHP:
    <?
    $data
    date('d/m-Y H:i:s'); 
    include(
    "config.php");
    $sql "select id, cognome, DATE_FORMAT(data_arrivo, '%d/%m/%Y') AS data_arrivo, DATE_FORMAT(data_partenza, '%d/%m/%Y') AS data_partenza, camera, incasso_hotel, incasso from $tabella where hotel = \"$hotel\" and data_partenza <= NOW()";
    $risultato = @mysql_query($sql$connessione);
    ?>

  8. #8
    $sql = "select id, cognome, DATE_FORMAT(data_arrivo, '%d/%m/%Y') AS data_arrivo, DATE_FORMAT(data_partenza, '%d/%m/%Y') AS data_partenza, camera, incasso_hotel, incasso, (unix_timestamp(data_partenzadata_arrivo) - unix_timestamp(data_arrivo))/86400 as notti from $tabella where hotel = \"$hotel\" and data_partenza <= NOW()";

    poi accedi con
    $riga['notti']

  9. #9
    Utente di HTML.it L'avatar di Tr|k`Tr4k
    Registrato dal
    Jul 2002
    Messaggi
    2,766
    Originariamente inviato da bubu77
    $sql = "select id, cognome, DATE_FORMAT(data_arrivo, '%d/%m/%Y') AS data_arrivo, DATE_FORMAT(data_partenza, '%d/%m/%Y') AS data_partenza, camera, incasso_hotel, incasso, (unix_timestamp(data_partenzadata_arrivo) - unix_timestamp(data_arrivo))/86400 as notti from $tabella where hotel = \"$hotel\" and data_partenza <= NOW()";

    poi accedi con
    $riga['notti']
    data_partenzadata_arrivo li hai messi attaccati, e' un errore??
    Ma i campi nel database stanno bene in formato date^?

  10. #10
    Utente di HTML.it L'avatar di Tr|k`Tr4k
    Registrato dal
    Jul 2002
    Messaggi
    2,766
    ho provato, grazie bubu, funziona tutto, solo una cosa non mi piace molto.
    quando fa il calcolo delle notti mi stampa -3.00
    non si puo' far uscire piu' semplicemente 3?

    cmq ho modificato quello che mi hai mandato cosi:
    Codice PHP:
    $sql "select id, cognome, DATE_FORMAT(data_arrivo, '%d/%m/%Y') AS data_arrivo, DATE_FORMAT(data_partenza, '%d/%m/%Y') AS data_partenza, camera, incasso_hotel, incasso, (unix_timestamp(data_arrivo) - unix_timestamp(data_partenza))/86400 as notti from $tabella where hotel = \"$hotel\" and data_partenza <= NOW()"
    perche' il tuo mi dava questo errore

    Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in

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.