ciao a tutti!
non risco a trovare la funzione (se esiste) che mi faccia la somma del campo TIME estratto da db...
grazie...
ciao a tutti!
non risco a trovare la funzione (se esiste) che mi faccia la somma del campo TIME estratto da db...
grazie...
nemmeno una piccola funcina?? qualche idea??
che tipo di somma?
think simple think ringo
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
:master:[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]
nn ho capito
come sn memorizzati i dati??
think simple think ringo
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!!!
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
bè mi dai qualche suggerimento sul formato?
grazie...
secondo me ti conviene memorizzare il numero di minuti per ogni persona:[supersaibal]Originariamente inviato da kodode
bè mi dai qualche suggerimento sul formato?
grazie... [/supersaibal]
poi lo gestisci come preferisci...codice:00:30 -> 30 02:00 -> 120 02:30 -> 150
cmq nulla ti vieta di tenere il TIME ed usare la query di prima

think simple think ringo
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