Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Wybieranie losowe z priorytetami
Forum PHP.pl > Forum > Bazy danych > MySQL
NuLL
Dawno nie miałem takiego problemu jak ten - rotator linkow z priorytetami

Zam załóżmy wyświetlić ustaloną liczbę linków w dowolnym miejscu strony dzięki include'owi. Liczba ta jest regulowana przez osobę kóra jest za to odpowiedzialna.

Mam taka oto tabelę w bazie:

id|link|url|prior|views

views to liczba odslon do konca

prior ma trzy wartosci
3 - wysoki
2- normalny
1- niski

I mam wylosować np 20 rekordów wraz z priorytetami, tak aby jakoś sensownie to działało i zabieralo jedno wyswietlenie kazdemu rekordowi. Problem nasuwa się gdy brakuje linków o np. wysokim priorytecie i jak nie wiem co począć.

Gdyby był jeden link to bym coś począł ale jak to sad.gif :cry:

Błagam pomóżcie. Jakieś zapytania, pomysły, sugestie - cokolwiek - do piątku rano.
bela
scanner napisal rozwiazanie, a co do tego to rachunek prawdopodobienstwa sie klania winksmiley.jpg
NuLL
Dla jednego linku bez potrzeby UPDATEa w bazie
popbart
Update możesz zrobić tak:
  1. UPDATE tabela SET views=views-1
  2. WHERE id IN(tutaj musisz przekazać numery id wylosowane w zapytaniu losującym np: 1,10,3,4)
NuLL
A mozna jakos wyciganac wszystkie ID z SELECT-a questionmark.gif

Wydaje mi się, że 3 SELECT-y są nieuniknione.

Już byłbym bliżej.

Co samego problemu serwis ma około 45000 odwiedzin miesiecznie.
popbart
Przecież po zapytaniu losującym otrzymujesz tablicę. Robisz pętlą zmienną zawierającą id w postaci $id="1,7,3,10";
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.