Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Miejsce rekordu w zapytaniu
loczek111
post 2.07.2018, 11:55:30
Post #1





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 23.03.2018

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


Zacznę od wprowadzenia w temat, wyświetlam komentarze techniką Ajax. Po 10 kolejnych komentarzy gdy użytkownik dojedzie scrollem do dołu strony (skryptem wysyłam zmienną limit i offset do php).
Gdy ktoś polubi komentarz danego użytkownika, ten dostaje powiadomienie i klikając w nie przekierowuje go do danej strony gdzie skomentował treść.
Chcę zrobić system który zjedzie stroną do danego komentarza i go podświetli, aby użytkownik nie musiał go szukać (animacje zrealizowałem za pomocą JQuery).

Problem natomiast mam tu że animacja działa dla pierwszych 10 komentarzy (kolejne się jeszcze nie wyświetliły więc nie istnieją dla js na stronie), nie wiem jak ustawić odpowiedni limit (liczba która mówi ile wyświetlić komentarzy po załadowaniu strony), dobrze by było znać na którym miejscu jest szukany komentarz.
Mam do dyspozycji id komentarza w bazie. Miałem pomysł aby wykonać wcześniej uproszczone zapytanie do komentarzy i w pętli policzyć na którym miejscu jest dany id ale przy załóżmy 500 komentarzach jest do dosyć ciężka dla serwera metoda.
Zastanawiam się czy można jakoś użyć zapytania SELECT aby wyświetlił rekordy dopóki nie napotka danego id (sortowanie komentarzy jest dosyć złożone, po polubieniach od odpowiedniej liczby i po dacie) lub aby wyświetlał liczbę porządkową dla każdego rekordu i wtedy wyciągnął bym tą liczbę i wstawił jako limit.
Macie może jakieś lepsze pomysły lub podpowiedzi co do moich?

PS. chwilę się zastanawiałem ale myślę że dobrze dopasowałem kategorie na forum
Go to the top of the page
+Quote Post
trueblue
post 2.07.2018, 12:10:11
Post #2





Grupa: Zarejestrowani
Postów: 6 761
Pomógł: 1822
Dołączył: 11.03.2014

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


A nie może być tak, że w tym przypadku ten wskazany komentarz pojawi na początku listy, jako swego rodzaju wyróżniony?


--------------------
Go to the top of the page
+Quote Post
loczek111
post 2.07.2018, 12:13:07
Post #3





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 23.03.2018

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


Prosta a jakże pomocna odpowiedź, bije się w pierś że sam na to nie wpadłem wink.gif Dzięki!
Go to the top of the page
+Quote Post
Crozin
post 2.07.2018, 13:06:27
Post #4





Grupa: Zarejestrowani
Postów: 6 476
Pomógł: 1306
Dołączył: 6.08.2006
Skąd: Kraków

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


Na dobrą sprawę jest to dosyć proste do zrealizowania.

1. Link powinien zawierać w sobie jakieś ID komentarza, np. http://my-website/resouce-x?findComment=123.
2. Na pow. stronie wykonujesz zapytanie ustalające pozycję danego wiersza w ów liście komentarzy. Zrobisz to korzystając z ROW_NUMBER (w różnych silnikach baz może to widnieć pod inną nazwą). Tutaj przykład: https://stackoverflow.com/questions/1079480...-sql-result-set
3. Mając pozycję jesteś wstanie przekierować na odpowiednią stronę w listingu komentarzy, np. http://my-webiste/resource-x?commentsPage=23
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 28.03.2024 - 12:22