Witam serdecznie!

Mam następujący problem:
W mojej bazie danych przechowuję czas jako int(14) - timestamp. Jest mi wygodnie na tym operować i dotychczas nie miałem żadnych problemów. Mam taką przykładową tabele:
Kod
+------+--------------+-------------------+
|  id  | ostatni_czas |  co_ile_naliczac  |
+------+--------------+-------------------+
ostatni czas wskazuje na konkretną godzinę danego dnia, np. timestamp 0:00, dnia 25 października 2006. Co ile naliczać to liczba sekund, o jaki należy ten czas zwiększać, np. 60 * 60 * 6. Teraz, mając te dwa pola, chciałbym jednym zapytaniem zwiększyć pierwsze o taką wielokrotność drugiego, żeby było możliwie największe, a przy tym nie przekraczało obecnego czasu (w chwili wykonywania zapytania). Można by to zrobić tak:
  1. <?php
  2. // Pobierz wszystko z tabeli
  3. $query = mysql_query("SELECT * FROM tabela");
  4. while($temp = mysql_fetch_array($query))
  5. {
  6. // tak długo jak ostatni czas jest mniejszy od aktualnego czasu...
  7. while($temp['ostatni_czas']<time() )
  8. {
  9. // zwiększaj go o wartość "co_ile_naliczać"
  10. $temp['ostatni_czas'] += $temp['co_ile_naliczac'];
  11. }
  12. // A ponieważ chcemy mieć wartość minimalnie mniejszą, a nie minimalnie większą, t
    eraz trzeba ten jeden raz zmniejszyć wartość
  13. $temp['ostatni_czas'] -= $temp['co_ile_naliczac'];
  14. // i zaktualizować odpowiednie pole w bazie danych
  15. mysql_query("UPDATE tabela SET ostatni_czas = " . $temp['ostatni_czas'] . " WHERE id = " . $temp['id']);
  16. }
  17. ?>
To jednak wymaga zapytania dla każdego wiersza w bazie danych. A ja chciałbym to wszystko zalatwić jednym zapytaniem. Jak to ugryźć?