Avatar billede artico Novice
24. april 2011 - 14:33 Der er 3 kommentarer og
1 løsning

Sammenlæg tid i DB

Jeg vil gerne have udregnet alle ekspedientens tider i DBén, har forsøgt med:
$result_tiden_ialt = mysql_query("SELECT
                              stempel_kort.stempel_kort_id,
                              stempel_kort.ekspedient_id,
                              stempel_kort.butik_id,
                              stempel_kort.afregnet,
                              SUM(TIMEDIFF(stempel_kort.stemplet_ud,stempel_kort.stemplet_ind)) AS tid_ialt
                                                                                                                     
                              FROM stempel_kort
                           
                              WHERE stempel_kort.ekspedient_id = '".$_GET['id']."'
                              AND stempel_kort.afregnet = 'nej'
                             
                              GROUP BY stempel_kort.stempel_kort_id
                              ")or die (mysql_error());

Men den går vis ikke, er der nogle bud?
24. april 2011 - 15:36 #1
Du kan ikke uden videre laegge tidsforskellene sammen.  Men det hvis du foerst omregner tidsforskellene til sekunder, saa kan du tage summen af sekunderne, og saa kan du omregne summen af sekunder til tid bagefter.  For test lavede jeg en tabel artico med felterne ekspedient, stempel_ud, og stempel_in, og der virker denne query:

SELECT ekspedient, SEC_TO_TIME(sum(TIME_TO_SEC(TIMEDIFF(stempel_ud, stempel_in)))) FROM artico GROUP BY ekspedient;
24. april 2011 - 15:40 #2
Var jeg den eneste der var tosset nok til at rode med saadan noget paa en paaskesoendag med hoej sol? 

Endnu en bemaerkning:  du goer det for kompliceret for dig selv - naar du kun forespoerger i en enkelt tabel er det ikke noedvendigt at gentage tabelnavnet for hvert felt. 

SELECT stempel_kort_id, ekspedient_id, butik_id, afregnet o.s.v. FROM stempel_kort o.s.v. er tilstraekkeligt men meget kortere og oversigteligere.
Avatar billede The_Buzz Novice
24. april 2011 - 16:15 #3
Du skal være lidt forsigtig med at bruge en $_GET[''] direkte i mysql_query...

Læs eventuelt lidt om SQL injection (som ikke helt er færdig skrevet endnu) på http://phptips.dk/brug_af_mysql_real_escape_string.tip
Avatar billede artico Novice
24. april 2011 - 16:51 #4
OKI, tak jeg øver mig :-) ..
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester