![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 1 495 Pomógł: 245 Dołączył: 1.07.2009 Skąd: Bydgoszcz Ostrzeżenie: (0%) ![]() ![]() |
Część, poproszę o radę. Mam stronkę z postami, takie jednowątkowe mini-forum. Postów jest kilka tysięcy w tabeli messages oraz kilkunastu uzytkowników w tabeli users. Chcę dodać możliwość ozsnaczania postów jako ulubione. Jak to najlepiej, najwydajniej rozwiązać? Zamierzam zrobić tak...
Utworzę dodatkową tabelę favorites. Do niej będę zapisywał ID_MESSAGE oraz ID_USER w przypadku kiedy użytkownik oznaczy posta jakko ulubiony, oraz będę usuwać dany rekord kiedy uer posta odznaczy, wyrzuci z ulubionych. Przy wczytywaniu forum w pętli while wczytującej rekordy z messages będzie dodatkowe sprawdzenie typu jeżeli w favorites istnieje rekord zawierający ID zalogowanego usera oraz id danego posta (przy każdej iteracji while) to oznacz jako ulubiony. Czy tak będzie dobrze? Czy jakoś inaczej, lepiej można to rozwiązać? Dodatkowo dwa kolejne pytania niekoniecznie związane z tym tematem: 1) Uzywam sobie od czasu do czasu ChatGPT do generowania kodu. Co o tym sądzicie? Czy on tworzy poprawny kod po bożemu, czy jednak robi złą robotę? 2) O co chodzi z tą kradzieżą danych na forum? Od pewnego czasu Chrome wali mi komunikatami, że moje dane zostały wykradzione z forum i zaleca zmianę hasła. Był jakiś atak hakerski na forum.php.pl ? Dzięki. Ten post edytował sadistic_son 18.03.2024, 11:05:00 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Moderatorzy Postów: 36 559 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Dzis poniedzialek wiec moge nie kleic wiec spytam, gdzie w tym zapytaniu jest iloczyn kartezjanski?
$sql = "SELECT messages.ID, messages.MESSAGE, CASE WHEN favorites.ID_USER IS NULL THEN 0 ELSE 1 END AS is_favorite FROM messages left JOIN users on message.user_id = users.id LEFT JOIN favorites ON messages.ID = favorites.ID_MESSAGE AND favorites.ID_USER = $logged_in_user_id"; |
|
|
![]() ![]() |
![]() |
Aktualny czas: 14.10.2025 - 11:56 |