![]() |
![]() |
![]() ![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 75 Pomógł: 4 Dołączył: 29.05.2005 Ostrzeżenie: (0%) ![]() ![]() |
Witam,
Nie mam pomysłu jak wykonać pewien mechanizm. Rzecz polega na tym, że mam sobie stronę na której wyświetlane są dwa teksty z bazy, należy wybrać tekst który nam się bardziej podoba. Każdy tekst ma swoje id. np: Id: 3 | Tekst: "Witaj"; Id: 5 | Tekst: "Cześć". Skrypt po wejściu na stronę losuje teksty z bazy, najpierw losuje pierwszy tekst, a następnie drugi, tak aby się nie powtarzał. Gdy wybierzemy sobie dany tekst np: klikniemy na "Witaj" skrypt sprawdza czy był już pojedynek pomiędzy tekstem o Id:1 a Id:2. Pojedynki są zapisywane w następujący sposób: PojedynekId: 1 | TekstId1: 3 | TekstId2: 5 | Wynik: 23:12. A wybrany tekst zostaje dalej, natomiast losowany jest kolejny tekst który walczy z pierwszym. W zmiennej sesyjnej zapisywane jest jaki zestaw tekstów internauta już wybrał w postaci: TekstId1-TesktId2|TekstId1-TesktId2|TekstId1-TesktId2|... Tak więc jak kliknęliśmy na Test "Witaj" o Id 3 został oddany głos i doliczony punkt. A do sesji dodano zestaw 3-5. Następnie przechodzimy do kolejnego losowania tekstu. W tym momencie chciałbym aby skrypt sprawdzał jakie zestawy już były wylosowane i wykluczał id ich z kolejnego losowania. Tak więc jak już były teksty o id: 3 i 5 nie można ich ponownie wylosować. Tekst o id 3 zostaje a skrypt losuje drugi tekst wykluczając teksty o id 3 i 5. Po lewej mamy tekst "Witaj" a nowym wylosowanym tekstem jest "Hej" o id 2. Itd.. Przed losowaniem pobieram dane z sesji i filtruje je:
i co dalej (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 1 076 Pomógł: 62 Dołączył: 6.03.2005 Skąd: Wroc Ostrzeżenie: (0%) ![]() ![]() |
Tak nie do końca rozumiem Twój tok rozumowania.
Może jak ja bym podszedł do zagadnienia: Dwie tablice w bazie: pierwsza "teksty" z dwoma kolumnami(id_tekstu, tekst) druga "walki" z trzema kolumnami (id_losowania,wygral,przegral). //pierwsze wejscie 1) Pobieram wszystkie teksty 2) Losowo wyświetlam 2 jako linki w postaci ?wygral=id&przegral=id np: // user klika w linka 3) zapisuje w bazie "walki" $_GET['wygral'] i $_GET['przegral'] 4) Zapisuje w sesji (Twój sposób się nadaje, pod warunkiem ze bedzie w schemacie wygral_id-przegral_id|wygral_id-przegral_id| ...) 5) generuje tekst $przegrani = (przegral_id,przegral_id, ....) ale tylko z tych pól, gdzie wygrany == $_GET['wygral'] 6) Pobieram z tabeli "teksty" id_tekstu = $_GET['wygral_id'] // do wyswietlenia 7a) Pobieram z tabeli "teksty" id_tekstu != $_GET['wygral_id'] AND NOT IN $przegrani // do losowania 7b) losuję szczęśliwca i wyświetlam w postaci ..... (wróć do pkt 2) |
|
|
![]() ![]() |
![]() |
Aktualny czas: 4.10.2025 - 11:59 |