![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 60 Pomógł: 0 Dołączył: 26.04.2007 Ostrzeżenie: (0%) ![]() ![]() |
Witam,
mam problem, pisząc skrypt "lista obecności" zatrzymałem się w 1 miejscu.
w miejscu zapytanie do sql chciałbym umieścić coś co sprawdzałoby mi czy istnieje wpis, że user 1 w dniu 20-08-2008 logował się do serwisu. Baza jest bardzo prosta id user i data. Problem mam w tym, że nie wiem jak wykonać takie zapytanie tak aby robiło się to z automatu, próbowałem wykorzystać funkcję stworzoną do wypisania dni danego miesiąca ale nie działa. Nie wiem jak przekazać zmienną $i do zapytania w sql. Jak stworzyć zapytanie które po przejrzeniu bazy dla np lutego 28 / 29 dni nie będzie szukało dalej tylko skończy przeszukiwania i wyświetli mi rezultat w tabeli. oraz jak prawidłowo umieścić dane obok dnia miesiąca w pierwszym rzędzie. Czyli 1 luty logował się wyświetla +, 2 luty brak wpisu wyświetla - itp itd. Z góry dziękuję Wojtek Ten post edytował wojtekwro 20.08.2008, 19:58:48 |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 403 Pomógł: 68 Dołączył: 20.03.2008 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 1 415 Pomógł: 117 Dołączył: 7.09.2005 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
To już lepiej:
lub w ujęciu wydajnościowym (string nie bedzie parsowany w poszukiwaniu zmiennych)
|
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 60 Pomógł: 0 Dołączył: 26.04.2007 Ostrzeżenie: (0%) ![]() ![]() |
czyli zapytani będzie powtarzane tyle razy ile jest dni np we wrześniu, tak jak działa funkcja którą wkleiłem tak (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif)
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 279 Pomógł: 15 Dołączył: 29.04.2005 Skąd: Gdynia Ostrzeżenie: (0%) ![]() ![]() |
Powiedz, o co konkretnie ci chodzi.
Po co ma być tyle razy powtarzane? Jeżeli chcesz, żeby przy danym dniu był napis "brak wpisu" jak kogoś nie było (domyślam że o to ci chodzi) to wystarczy if po 1 zapytaniu. Pozdrawiam |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 60 Pomógł: 0 Dołączył: 26.04.2007 Ostrzeżenie: (0%) ![]() ![]() |
mówiąc prościej
jak ostatnie echo które wyświetla mi dni miesiąca 1,2,3... czyli $i wpleść w to zapytanie do :
tak aby sprawdzał wg parametru $i który kolejno będzie wynosił 1,2,3.... do ostatniego dnai miesiąca Ten post edytował wojtekwro 20.08.2008, 19:33:58 |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 317 Pomógł: 58 Dołączył: 6.11.2005 Ostrzeżenie: (0%) ![]() ![]() |
Czemu upierasz się, żeby do bazy wysyłać aż tyle zapytań, kiedy jak już Ci napisał Lars wszystko można załatwić pojedynczym zapytaniem? Wyciągnij sobie wszystkie obecności wszystkich userów z danego miesiąca, przejedź po wyniku i zbuduj tablicę w postaci np. $obecnosci[$userId][$dzienMies] = 'byl'. Przy wyswietlaniu tabelki sprawdzasz tylko czy dany indeks istnieje w tablicy: jeśli istnieje - 'był', jeśli nie istnieje - 'nie był'. Kropka.
|
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 60 Pomógł: 0 Dołączył: 26.04.2007 Ostrzeżenie: (0%) ![]() ![]() |
nie upieram się ;] nie znam jeszcze tablic ;/ nie wiedziałem, że można to tak rozwiązać. Jest ktoś chętny do przybliżenia takiego skryptu ?
|
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 317 Pomógł: 58 Dołączył: 6.11.2005 Ostrzeżenie: (0%) ![]() ![]() |
Użyj zapytania (z głowy, ale powinno zadziałać)
Potem robisz np.
Na koniec przy generowaniu tabelki sprawdzasz, czy w tabeli $obecnosci jest klucz z okreslonym userem i dniem tygodnia. Klucz jest = user był obecny, brak klucza = user nieobecny. Pokombinuj trochę, ale nie wysyłaj do bazy miliona niepotrzebnych zapytań (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) Ten post edytował luck 20.08.2008, 19:54:54 |
|
|
![]()
Post
#10
|
|
Developer Grupa: Moderatorzy Postów: 3 045 Pomógł: 290 Dołączył: 20.01.2007 ![]() |
Proszę o dodanie tagów w tytule tematu, w innym przypadku temat zostanie zamknięty.
|
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 60 Pomógł: 0 Dołączył: 26.04.2007 Ostrzeżenie: (0%) ![]() ![]() |
cały czas się uczę, przeczytać taczkę książek to nie problem, najważniejsze zastosować w praktyce i utrwalić a o tablicach zupełnie zapomniałem ;]
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 23.08.2025 - 17:40 |