Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]Jak wydobyć z bazy date ostatniego logowania?
woxala123
post
Post #1





Grupa: Zarejestrowani
Postów: 361
Pomógł: 12
Dołączył: 9.01.2010

Ostrzeżenie: (10%)
X----


Witam i proszę o poradę.
Mam posortowną tabelę z użytkownikami którzy logowali sie u mnie serwerze
id user_login last_login
229 guest 2011-03-25 20:59:22
231 guest 2011-03-25 21:02:17
239 guest 2011-03-25 22:24:42
93 admin 2011-03-25 12:25:41
100 admin 2011-03-25 14:31:50
110 admin 2011-03-25 14:41:18
112 admin 2011-03-25 14:42:27

Jak zrobić zapytanie by wyświetlała się ostatnia data logowania dowolnego usera.
Go to the top of the page
+Quote Post
wookieb
post
Post #2





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




Wróć do podstaw. Nie będziemy wiecznie odsyłać do podstawowych kursów.
// Otwieram temat po konsultacji na PW
Powód edycji: [wookieb]:
Go to the top of the page
+Quote Post
woxala123
post
Post #3





Grupa: Zarejestrowani
Postów: 361
Pomógł: 12
Dołączył: 9.01.2010

Ostrzeżenie: (10%)
X----


Chcę zrobic tylko zapytanie? Zrobiłem coś takiego ale przy użytkownikach wyskakują ta sama wartośc daty
  1. SELECT logi.date_last_login
  2. FROM logi
  3. WHERE logi.date_last_login
  4. ORDER BY logi.user_id, logi.user_login

[Gdzie popełniam błąd?

Ten post edytował woxala123 26.03.2011, 10:28:47
Powód edycji: [wookieb]:
Go to the top of the page
+Quote Post
wookieb
post
Post #4





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




Skoro chcesz pobrać ostatnią datę zalogowania to...
  1. SELECT ostatnia_data_zalogowania FROM tabela ORDER BY ostatnia_data_zalogowanie DESC LIMIT 1

Zwróci ostatnią datę zalogowania w całej tabeli
  1. SELECT MAX(ostatnia_data_zalogowania) FROM tabela WHERE id_user = 1 LIMIT 1

ostatnia data zalogowania dla podanego użytkownika

  1. SELECT MAX(ostatnia_data_zalogowania), id_user FROM tabela GROUP BY id_user


Ostatnia data zalogowania dla użytkowników znajdujących się w tej tabeli
id_user się nie powtórzy.

Go to the top of the page
+Quote Post
woxala123
post
Post #5





Grupa: Zarejestrowani
Postów: 361
Pomógł: 12
Dołączył: 9.01.2010

Ostrzeżenie: (10%)
X----


DZIĘKI ZA UKIERUNKOWANIE. ZROBIŁEM TAKIE ZAPYTANIE
  1. SELECT MAX(logi.date_last_login), user_LOGIN
  2. FROM logi
  3. GROUP BY user_LOGIN

Uzyskalem
MAX(logi.date_last_login) user_LOGIN

2011-03-25 20:52:34 admin
2011-03-26 12:08:56 guest

Oto właśnie chodziło
Go to the top of the page
+Quote Post
wookieb
post
Post #6





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




Daj group_by wg user_id (zapewna login jest przypisany do loginu), mniej pamięci będzie zużywać zapytanie.
Go to the top of the page
+Quote Post
woxala123
post
Post #7





Grupa: Zarejestrowani
Postów: 361
Pomógł: 12
Dołączył: 9.01.2010

Ostrzeżenie: (10%)
X----


Robiłem to wczesniej tylko poprostu wyświetla jakieś tam user_login a nie wyświetla daty. Dlatego to rozwiązanie jest dla mnie korzystne.
Go to the top of the page
+Quote Post

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: 14.09.2025 - 23:22