Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 18

Discussione: somma del campo TIME

  1. #1
    Utente di HTML.it L'avatar di kodode
    Registrato dal
    Sep 2002
    Messaggi
    1,896

    somma del campo TIME

    ciao a tutti!

    non risco a trovare la funzione (se esiste) che mi faccia la somma del campo TIME estratto da db...

    grazie...

  2. #2
    Utente di HTML.it L'avatar di kodode
    Registrato dal
    Sep 2002
    Messaggi
    1,896
    nemmeno una piccola funcina?? qualche idea??

  3. #3
    Moderatore di Server Apache L'avatar di marketto
    Registrato dal
    Sep 2001
    Messaggi
    5,858
    che tipo di somma?
    think simple think ringo

  4. #4
    Utente di HTML.it L'avatar di kodode
    Registrato dal
    Sep 2002
    Messaggi
    1,896
    bè io un db con i campi
    cognome - convegno - ore_svolte

    volevo fare l'estrazione del campo ore_svolte (tipo TIME) e fare la somma... ma se ho:
    1 record 2 ore
    2 record 3 e mezza

    mi restituisce 5 invece di 5 e mezza

    grazie

  5. #5
    Moderatore di Server Apache L'avatar di marketto
    Registrato dal
    Sep 2001
    Messaggi
    5,858
    [supersaibal]Originariamente inviato da kodode
    bè io un db con i campi
    cognome - convegno - ore_svolte

    volevo fare l'estrazione del campo ore_svolte (tipo TIME) e fare la somma... ma se ho:
    1 record 2 ore
    2 record 3 e mezza

    mi restituisce 5 invece di 5 e mezza

    grazie [/supersaibal]
    :master:

    nn ho capito


    come sn memorizzati i dati??
    think simple think ringo

  6. #6
    Utente di HTML.it L'avatar di kodode
    Registrato dal
    Sep 2002
    Messaggi
    1,896
    porta pazienza se mi spiego male
    ora provo a spiegarmi meglio...

    allora i campi abbiamo detto che sono:

    cognome - convegno - ore_svolte
    [text] [text] [time]

    es:

    mario - convegno sulla privacy - 2:00
    mario - convegno sulla 626 - 3:30


    ora se voglio sapere il totale delle ore presenti da mario nei convegni dovrei fare (2)+(3:30)= (5:30) invece lui restituisce 5

    i record vengono inseriti tramite un form
    il campi che ci interssa in partilare (ore_svolte) è di tipo TIME e viene inserito nel formato 00:00:00

    ti prego dimmi dove non sono chiaro
    grazie!!!

  7. #7
    Moderatore di Server Apache L'avatar di marketto
    Registrato dal
    Sep 2001
    Messaggi
    5,858
    ciao, nn credo che il formato TIME sia il più indicato per questo tipo di elaborazioni, cmq questo tipo di operazione in sè è fattibile:

    codice:
    SELECT
    FROM_UNIXTIME( UNIX_TIMESTAMP('2005-01-01 00:00:00') +
    SUM( UNIX_TIMESTAMP( CONCAT('2005-01-01 ',ore_svolte))
    - UNIX_TIMESTAMP('2005-01-01 00:00:00')),'%H:%i') AS totale
    FROM nome_tabella
    WHERE cognome = 'mario'
    think simple think ringo

  8. #8
    Utente di HTML.it L'avatar di kodode
    Registrato dal
    Sep 2002
    Messaggi
    1,896
    bè mi dai qualche suggerimento sul formato?

    grazie...

  9. #9
    Moderatore di Server Apache L'avatar di marketto
    Registrato dal
    Sep 2001
    Messaggi
    5,858
    [supersaibal]Originariamente inviato da kodode
    bè mi dai qualche suggerimento sul formato?

    grazie... [/supersaibal]
    secondo me ti conviene memorizzare il numero di minuti per ogni persona:
    codice:
    00:30 -> 30
    02:00 -> 120
    02:30 -> 150
    poi lo gestisci come preferisci...



    cmq nulla ti vieta di tenere il TIME ed usare la query di prima


    think simple think ringo

  10. #10
    Utente di HTML.it L'avatar di kodode
    Registrato dal
    Sep 2002
    Messaggi
    1,896
    però...
    SELECT
    FROM_UNIXTIME( UNIX_TIMESTAMP('2005-01-01 00:00:00') +
    SUM( UNIX_TIMESTAMP( CONCAT('2005-01-01 ',ore_svolte))
    - UNIX_TIMESTAMP('2005-01-01 00:00:00')),'%H:%i') AS totale
    FROM nome_tabella
    WHERE cognome = 'mario'


    io ho il formato TIME non TIMESTAMP... è uguale?

    non risco a farmi restituire il valore...

    $totaleOre_svolte=0;
    $sql="SELECT FROM_UNIXTIME( UNIX_TIMESTAMP('2005-01-01 00:00:00') + SUM( UNIX_TIMESTAMP( CONCAT('2005-01-01 ',ore_svolte)) - UNIX_TIMESTAMP('2005-01-01 00:00:00')),'%H:%i') AS totale FROM nome_tabella
    WHERE cognome = 'mario'";
    $query = mysql_query ($sql) or die (mysql_error());
    while ($valori=mysql_fetch_array($query)){
    $totaleOre_svolte.=$valori["totale"];
    }; echo $totaleOre_svolte;

    PS non mi scrive nemmeno 0

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.