mephir napisał(a)
Na początek radziłbym skorzstać w zapytaniu z SUM(nazwa_kolumny), a co do czasu to nie lepiej tobie go przechowywać w sekundach??
Czyli np.:
SELECT SUM(czas) as caly FROM nazwa tabeli
I w tym momencie masz zsumowaną kolumnę czas w $row['caly'] używając twojego nazewnictwa ;)
hmm... sprobowałem ale niestety nie działa to w ten sposób jaki bym chciał
wysłałem taki tekst za pomocą php
$query = "SELECT SUM(czas) as caly FROM `1` WHERE `rok` = 2007 AND `miesiac` = 11";
$result = mysql_query($query)
or die("Wykonanie zapytania nie powiodło się: ".mysql_error());
while ($row = mysql_fetch_array($result)) {
$czas2 = $row['caly'];
}
W tym wypadku zmienna czas2 miałą wartość 286000. Niestety nie przypomina to formatu godziny. Myslalem ze może to sekundy ale dzieląc ten wynik rpzez 60 (sekundy) i znów przez 60 (minuty) otrzymujemy 79,(4) - a to nie jest prawidłowy wynik godzin - powinno być około 30 godzin 35 minut.
Wyczytałem, że zamiast SUM można dać COUNT czyli:
$query = "SELECT COUNT(czas) as caly FROM `1` WHERE `rok` = 2007 AND `miesiac` = 11";
$result = mysql_query($query)
or die("Wykonanie zapytania nie powiodło się: ".mysql_error());
while ($row = mysql_fetch_array($result)) {
$czas2 = $row['caly'];
}
ten kod dał mi wynik 31 co jest wynikiem zaokrąglonych w górę godzin.
Czy jest jakaś możliwość żeby kod zsumował kolumnę "czas" która ma format "TIME DEFAULT '00:00:00' " (czyli standardowy TIME w phpmyadmin) i żeby zachował ten format?