![]() |
![]() ![]() |
![]() |
![]() ![]()
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 ![]() |
|
|
![]()
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) -------------------- The answer is out there, Neo. It's looking for you. And it will find you, if you want it to.
SERVER_SOFTWARE : Apache/2.2.4 (Win32) PHP/5.2.1 MySQL Client API version : 5.0.27 |
|
|
![]()
Post
#3
|
|
![]() Grupa: Moderatorzy Postów: 4 465 Pomógł: 137 Dołączył: 26.03.2004 Skąd: Gorzów Wlkp. ![]() |
Proszę wysłać propozycję sensownego tytułu tematu komuś z zespołu moderującego, temat zostanie wówczas otworzony.
Zamykam -------------------- To think for yourself you must question authority and
learn how to put yourself in a state of vulnerable, open-mindedness; chaotic, confused, vulnerability, to inform yourself. Think for yourself. Question authority. |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 29.06.2025 - 08:13 |