![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 80 Pomógł: 0 Dołączył: 23.07.2006 Ostrzeżenie: (0%) ![]() ![]() |
Próbowałam na różne sposoby wykonać zapytanie, które pobierało by dane z 2 tabel i wyświetlało je po spełnieniu określonych warunków.
Niestety za każdym razem jak coś poprawiałam (zmieniałam), to pojawiały się coraz to inne błędy. Posiadam 2 tabele: 1. artykuly (id, tekst) 2. czytane (uzytkownik, data, tekst) Chchiałabym aby zapytanie wyświetlało tekst z artykuly, pod warunkiem, że dany użytkownik w dzisiejszym dniu nie czytał już tego tekstu. Przyjmijmy, że po zalogowaniu: użytkownik ($uzyt), dzisiejsza data ($dzis) Bardzo proszę o pomoc doświadczonych. |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 237 Pomógł: 1 Dołączył: 8.02.2007 Ostrzeżenie: (10%) ![]() ![]() |
Po pierwsze baza (czy jej część) jest źle zaprojektowana
![]() Po co w czytanych powielać artykuł :| Można by zrobić tak: - artykul (id, tekst) - czytane (uzytkownik, data, id) ![]() A zapytanie to może takie: Kod select artykuly.* from artykuly, czytane where czytane.data!=$dzis and czytane.uzytkownik=$uzyt Nie wiem czy będzie działało, ale ogólny sens w nim jest ![]() A może left join wykorzystać ? :| Ten post edytował Sokal 27.03.2007, 17:17:56 -------------------- Jabber/E-Mail: dominiksokal[at]gmail.com | GG: #3795571
|
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 1 470 Pomógł: 75 Dołączył: 21.09.2005 Skąd: że znowu Ostrzeżenie: (0%) ![]() ![]() |
@sokal: tekst w tabeli czytane to chyba właśnie id tekstu a nie treść artykułu - secundo to co podałeś nie będzie działało jeśli artykuł był czytany choćby sekunde wcześniej niż teraz (zakłądam że pole data to pole przechowujące czas w sekundach) pozatym twój kod wyświetli tylko te artykuły które były już czytane a te które czytane nie były zostaną pominięte.
w php musisz określić czas w sekundach dla początku dnia (czyli godziny 0 minut 0 sekund 0) jak to zrobić podpowie ci manual dla funkcji date
Ten post edytował devnul 27.03.2007, 18:23:31 -------------------- |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 80 Pomógł: 0 Dołączył: 23.07.2006 Ostrzeżenie: (0%) ![]() ![]() |
devnul, zrobiłam tak jak napisałeś, to cały czas się wyświetlają artykuły.
Ten post edytował terreska 27.03.2007, 20:15:23 |
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 124 Pomógł: 16 Dołączył: 22.02.2007 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
mhh... W tym akorat jestem swiezak.. i zabardzo niedzialam wtym typie zlozenia ale kiedys napewno bede musial sie jeszcze podszkolic....
Spróboj tego... ale nieobiecuje ze zaadziala poprawnie ... ![]() Ten post edytował Neeke 27.03.2007, 20:54:51 |
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 1 470 Pomógł: 75 Dołączył: 21.09.2005 Skąd: że znowu Ostrzeżenie: (0%) ![]() ![]() |
rotfl nieźle - użytkownik mniejszy i jednocześnie większy od zero - z całą pewnością zadziała
![]() @terreska: nie napisałem że to rozwiązanie wymaga wsparcia subzapytan ze strony mysql'a a to zostało wprowadzone chyba dopiero w jego 5 wersji (a może 4?) - tak więc jeśli posiadasz wersję 3.xx to z całą pewnością to rozwiązanie nie zadziała - trzeba to rozbić na 2 zapytana //edit: można też tak
Ten post edytował devnul 28.03.2007, 11:07:46 -------------------- |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 14.08.2025 - 00:44 |