![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 442 Pomógł: 4 Dołączył: 28.12.2008 Skąd: Warszawa Ostrzeżenie: (20%) ![]() ![]() |
Witam,
Mam pewien problem w kwestii teoretycznej , chciałem zrobić na stronie z filmami pozycje na której znajduje się film. Każdy film mam oceniany poprzez glosowanie np. film1 - 3,54 film2 - 4,06 film3 - 2,58 itd I potrzebuje teraz zrobić tak : - kiedy wchodzę w opis np. filmu1 widzę " Film znajduje się w TOP 2" - kiedy wchodzę w opis np. filmu2 widzę " Film znajduje się w TOP 1" - kiedy wchodzę w opis np. filmu3 widzę " Film znajduje się w TOP 3" Całkowicie nie wiem jak to obrać ... ![]() Z góry bardzo dziękuje Czy ktoś wie jak to mogę zrobić ? -------------------- Życie jest jak SESJA kiedyś wygaśnie ....
Jeśli moja odpowiedź jakoś Cię nakierowała lub pomogła kliknij Pomógł |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 1 748 Pomógł: 388 Dołączył: 21.08.2009 Skąd: Gdynia Ostrzeżenie: (0%) ![]() ![]() |
możesz pobrać sobie 20 najwyżej ocenionych filmów sortując je oceną malejąco,
film2 - 4,06 film1 - 3,54 film3 - 2,58 itd... zapisujesz je po kolei do tablicy:
potem sprawdzasz funkcją in_array(), czy film znajduje się w tej tablicy jeżeli tak to funkcją array_search() pobierasz klucz, klucz+1 - będzie numerem pozycji na, której znajduje się film i wtedy w zależności jaka to liczba piszesz czy to jest TOP3, TOP10 czy TOP20 |
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 442 Pomógł: 4 Dołączył: 28.12.2008 Skąd: Warszawa Ostrzeżenie: (20%) ![]() ![]() |
No tak tylko jest mały problem który nie wiem jak obejść ponieważ muszę to zgrać jakoś z takim zapytaniem
wiec pobieram tylko dla konkretnego ID (wchodzę w opis filmu) Ps. dziękuje za odp. która daje mi cień na to że jakoś to zrobię ![]() tehaha - Jakiś przykład mógłbym poprosić ![]() Ten post edytował kielich 23.05.2010, 14:40:20 -------------------- Życie jest jak SESJA kiedyś wygaśnie ....
Jeśli moja odpowiedź jakoś Cię nakierowała lub pomogła kliknij Pomógł |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 1 748 Pomógł: 388 Dołączył: 21.08.2009 Skąd: Gdynia Ostrzeżenie: (0%) ![]() ![]() |
nie wiem co wyciąga to Twoje zapytanie, ale domyślam się, że jakieś informacje o filmie..., a nie możesz oddzielnym zapytaniem wyciągnąć tego top20? chodzi po prostu żebyś wyciągnął ID dla 20 filmów z największą średnią i wsadził to do tablicy
|
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 442 Pomógł: 4 Dołączył: 28.12.2008 Skąd: Warszawa Ostrzeżenie: (20%) ![]() ![]() |
Też tak właśnie pomyślałem (po tym jak odpisałem) że mogę przecież od dzielnie napisać zapytanie .
![]() Czy mógłbyś podać jakiś przykład jak to mogę rozwiązać , podtrzymując dalej twoją ideę . -------------------- Życie jest jak SESJA kiedyś wygaśnie ....
Jeśli moja odpowiedź jakoś Cię nakierowała lub pomogła kliknij Pomógł |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 1 748 Pomógł: 388 Dołączył: 21.08.2009 Skąd: Gdynia Ostrzeżenie: (0%) ![]() ![]() |
ok to taki przykład, który zobrazuje Ci jak to mniej więcej może działać, oczywiści musisz to dopasować do swojej sytuacji:
pobieramy TOP20 filmów, sortując je względem oceny od najwyższej do najniższej
potem kiedy już sobie pobierzesz informacje o filmie i masz jego ID, to sprawdzasz czy jest w TOP20, jeśli tak to na jakiej pozycji:
Oczywiście żeby na każdej podstronie filmu, zbędnie nie wykonywać połączenia do pobierania top20, można zapisać je do sesji:
i wtedy już do funkcji in_array() i array_search() używasz tej zmiennej sesyjnej |
|
|
![]()
Post
#7
|
|
![]() Grupa: Zarejestrowani Postów: 2 291 Pomógł: 156 Dołączył: 23.09.2007 Skąd: ITALY-MILAN Ostrzeżenie: (10%) ![]() ![]() |
Dawno ze Sql nie kombinowalem ale zobacz czy dziala tylko pozmieniaj nazwy kolumn i tabel i potem za pomoca php wyciagnij to co chcesz. A jak nie to za pomoca max() z mysql'a wyciagnij najwyzsza ocene. Ewentualnie mozesz uzyc Union select. -------------------- Zainteresowania: XML | PHP | MY(SQL)| C# for .NET | PYTHON
http://code.google.com/p/form-builider/ Moj blog |
|
|
![]()
Post
#8
|
|
![]() Grupa: Przyjaciele php.pl Postów: 1 590 Pomógł: 40 Dołączył: 11.01.2007 Skąd: Centrum Ostrzeżenie: (0%) ![]() ![]() |
A nie lepiej zamiast kombinować z zapytaniami, lub porównywać tablice w PHP dodać jedno nadmiarowe pole w opisie filmu i tam zapisywać aktualną pozycję ?
Każde głosowanie ( notabene głosując na film głosujesz na jego stronie - więc masz jego ID ) uaktualnia kolumnę 'pozycja'. -------------------- 404
|
|
|
![]()
Post
#9
|
|
![]() Grupa: Zarejestrowani Postów: 442 Pomógł: 4 Dołączył: 28.12.2008 Skąd: Warszawa Ostrzeżenie: (20%) ![]() ![]() |
Wszystko super no ale nie rozumiem twojego rozumowania .
BO jeśli $position będzie równa 2 wtedy będzie zaliczane do TOP3 a powinno być do 2 ... Dobrze to rozumuje ![]() Ps. trochę na początku się zle wyraziłem ponieważ nie ma być jakiś tam TOP do 20 tylko każdy film ma swoją ocenę i względem innych filmów ma jakąś pozycje ![]() no ale to chyba nic tu nie zmienia ... ![]() Cienki1980 Niby tak ale to w moim przypadku strasznie dużo przeróbek itd... A idea tehaha jest bardzo dobra (tak myślę) -------------------- Życie jest jak SESJA kiedyś wygaśnie ....
Jeśli moja odpowiedź jakoś Cię nakierowała lub pomogła kliknij Pomógł |
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 1 748 Pomógł: 388 Dołączył: 21.08.2009 Skąd: Gdynia Ostrzeżenie: (0%) ![]() ![]() |
a bo myślałem, że chcesz sobie wypisywać czy to top3 czy top10, no nie ważne wtedy tylko wyświetl $position bo to jest właśnie pozycja względem innych filmów, dlatego podkreślałem, żebyś wyciągnął je w posortowane malejąco oceną, jeżeli ma być dla większej liczby niż 20 to wyciągnij wszystkie ID filmów, posortowane oceną malejąco
@Cienki1980 Twoje rozwiązanie wymagało by cyklicznej aktualizacji tej pozycji, przecież ludzie dodają oceny i ta pozycja ciągle się zmienia, a to de facto wprowadziło by większe komplikacje, bo przecież trzeba by po każdym oddanym głosie zaktualizować pozycję dla wszystkich filmów Ten post edytował tehaha 23.05.2010, 15:40:58 |
|
|
![]()
Post
#11
|
|
![]() Grupa: Zarejestrowani Postów: 442 Pomógł: 4 Dołączył: 28.12.2008 Skąd: Warszawa Ostrzeżenie: (20%) ![]() ![]() |
Dziwne zrobiłem tak:
i wyświetla mi " 15 " czyli liczba wszystkich rekordów ... kurcze gdzie się zamieszałem ?! -------------------- Życie jest jak SESJA kiedyś wygaśnie ....
Jeśli moja odpowiedź jakoś Cię nakierowała lub pomogła kliknij Pomógł |
|
|
![]()
Post
#12
|
|
Grupa: Zarejestrowani Postów: 1 748 Pomógł: 388 Dołączył: 21.08.2009 Skąd: Gdynia Ostrzeżenie: (0%) ![]() ![]() |
linijki 6-9 wywal z pętli bo one służą do sprawdzenia na jakiej pozycji jest film, poza tym to id filmu to ma pochodzić z informacji pobieranych o filmie, zamieszałeś w tym że to połączyłeś
1. to przypisanie filmów do tablicy to zupełnie oddzielne połączenie tworzysz sobie taką tablice z numerami ID posegregowane względem oceny 2. potem jak sobie pobierasz informacje o filmie to wtedy używając tego id, którym pobrałeś info filmu sprawdzasz w tej tablicy na jakiej pozycji znajduje się film |
|
|
![]()
Post
#13
|
|
![]() Grupa: Zarejestrowani Postów: 442 Pomógł: 4 Dołączył: 28.12.2008 Skąd: Warszawa Ostrzeżenie: (20%) ![]() ![]() |
No ok ale kiedy to wywalę z tej pętli to nic mi się nie wyświetla w $position
![]() -------------------- Życie jest jak SESJA kiedyś wygaśnie ....
Jeśli moja odpowiedź jakoś Cię nakierowała lub pomogła kliknij Pomógł |
|
|
![]()
Post
#14
|
|
Grupa: Zarejestrowani Postów: 1 748 Pomógł: 388 Dołączył: 21.08.2009 Skąd: Gdynia Ostrzeżenie: (0%) ![]() ![]() |
to jest oddzielna część i ma za zadanie tylko i wyłącznie przypisać do tablicy numery ID filmów, tak aby to potem użyć przy wyświetlaniu filmu
i to takie sobie zostawiasz, aby się dodatkowo upewnić, że wpisałeś poprawnie te numer ID do tablicy dajesz print_r(), żeby sprawdzić czy tablica nie jest pusta POTEM kiedy sobie wchodzisz na stronę filmu i wykonujesz zapytanie aby pobrać informacje o filmie to robisz coś w stylu
pobierasz sobie informacje i używając tego samego ID który używasz do pobrania informacji o filmie sprawdzasz w tamtej tablicy które ma miejsce
jaśniej się już chyba nie da:) |
|
|
![]()
Post
#15
|
|
![]() Grupa: Zarejestrowani Postów: 442 Pomógł: 4 Dołączył: 28.12.2008 Skąd: Warszawa Ostrzeżenie: (20%) ![]() ![]() |
A no dobrze zrobiłem , tylko wiesz ja mam całkiem inną koncepcje całego kodu no ale działa jak należy w $id_filmu wrzuciłem sobie GET'a z ID i śmiga
![]() Myślę że teraz jest już wszystko tak jak chciałem w razie czego będę pisał Bardzo Ci dziękuje za pomoc ![]() -------------------- Życie jest jak SESJA kiedyś wygaśnie ....
Jeśli moja odpowiedź jakoś Cię nakierowała lub pomogła kliknij Pomógł |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 24.07.2025 - 22:57 |