Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> pobranie i porównanie wybranych rekordów
janek
post
Post #1





Grupa: Zarejestrowani
Postów: 51
Pomógł: 0
Dołączył: 31.01.2003
Skąd: piękne, czyste, pachnące Katowice

Ostrzeżenie: (0%)
-----


to wycinek danych z mojej bazy:
  1. id | pytanie_id | DATA | godzina
  2. 1131 | 306 | 2005-07-12 | 16:27:28
  3. 1130 | 306 | 2005-07-12 | 15:29:58
  4. 1129 | 306 | 2005-07-12 | 15:22:16
  5. 1128 | 306 | 2005-07-12 | 15:17:21
  6. 1127 | 306 | 2005-07-12 | 15:16:46
  7. 1104 | 306 | 2005-07-12 | 11:24:44
  8. 1103 | 306 | 2005-07-12 | 11:24:11
  9. 1102 | 306 | 2005-07-12 | 11:06:26
  10. 1035 | 273 | 2005-07-11 | 14:45:19
  11. 989 | 273 | 2005-07-11 | 09:50:42
  12. 974 | 273 | 2005-07-09 | 09:53:05


widzicie tutaj informacje o pytaniach przesyłanych przez użytkowników mojej stronki. Ta tabela prezentuje odpowiedzi na te pytania, np. w pytaniu 306 kontakt z użytkownikiem pojawił się 8 razy (8 rekordów w bazie).

potrzebuje dowiedzieć się, jaki był czas odpowiedzi po wysłaniu pytania przez użytkownika. W pyt. 306 kontakt użytkonika rozpoczął się 12.07 o godz. 11:06:26. O 11:24:11 dostał odpowiedz. Potrzebuję obliczyć różnicę czasu między tymi rekordami. Czyli pozostałe 6 rekordów dla tego pytania mnie nie interesuje (ważna jest pierwsza odpowiedz na pytanie). Problem polega na tym, że takich pytań mam w bazie kilkaset i chcę to policzyć dla wszystkich.

Siedzę nad tym i przyznam, że nie mam pomysłu. Pewnie da się to jakoś zrobić przez podzapytania, ale w tym jestem słaby. Może ktoś ma pomysł?

z góry dzieki!
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
spenalzo
post
Post #2





Grupa: Zarejestrowani
Postów: 2 064
Pomógł: 1
Dołączył: 22.01.2003
Skąd: Poznań

Ostrzeżenie: (0%)
-----


Baza jest troche źle zaprojektowana, najlepszym wyjsciem byloby trzymanie daty i czasu w jednym polu jako unix timestamp, co umowliziwa operacje na czasie i dacie przez zwykle operacje arytmetyczne.

W tym przypadku musiałbyś zapewne w zapytaniu złączyć date i czas w jedno pole (tymczasowe), potem rozbić to przy pomocy funkcji daty i czaus mysqla - albo pobrać dane do php i obliczenia wykonywać w php.

Pobierasz 2 rekordy, posortowane wg daty ASC, i czasu ASC z limitem 2, nastepnie w pierwszym zamieniasz date i czas na format unix timestamp, tak samo z drugim i odejmujesz.

Ten post edytował spenalzo 12.07.2005, 19:44:05
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 2.10.2025 - 19:08