Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: pokrewne
Forum PHP.pl > Forum > Bazy danych
wipo
Mam taką tabelę

table pokrewne
sesja varchar(32) - id sesji
id_text - id oglądanego tekstu

w jaki sposób pobrać 5 najczęściej wyświetlanych tekstów, ale tylko te w ktorych byl wyswietlany obecny rekord

Czyli coś takiego jak ktoś oglądał ten rekord to jakie pięć innych też oglądał

Nie wiem czy to zrozumiecie ale nie wiem jak to prościej opisać.
Często takie coś jest w sklepach że ktoś kupił ten towar to pokazane są najczęściej kupowane inne towary, które również były kupione (pokrewne)
siemakuba
Z takiej tabeli to ciężko będzie cokolwiek pokazać. Dalczego? Ano dlatego, że nie można na podstawie id sesji i id tekstu stwierdzić, które były najczęściej czytane.

Cytat
Często takie coś jest w sklepach że ktoś kupił ten towar to pokazane są najczęściej kupowane inne towary, które również były kupione (pokrewne)

Ha, tu już wkraczamy na niepewny grunt bardzo. Ja bym był skłonny stwierdzić, że często w sklepach jest to ustawione ręcznie przez przebiegłego redaktora treści, ale to tylko moje wymyślone domysły. Poza tym, sklep to sklep i dużo łatwiej pokazać co jeszcze kupili inni, ktorzy kupili ten produkt. Masz przecież zapisane w bazie zamówienie, a w zamówieniu dane o zamówionych produktach. Można to powiązać bez problemu.

pozdr.
wipo
Doszedłem do tego jak to zrobić tylko jeszcze nie wiem czy działa tak jak powinno

Kod
select count(p.sesja) as ilosc, p.id_tekstu from pokrewne p where p.sesja!='".session_id()."' and p.id_tekstu!='".$_GET['id']."' group by p.id_tekstu order by ilosc desc limit 0,5


PS. id sesji nie zmienia się podczas oglądania strony więc na tej podstawie można to sprawdzać zwłaszcza że to id jest dość mało powtarzalne a to co robie nie ma być aż takie dokładne jak w aptece.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.