Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Wyeliminowanie danych w kolejnym losowaniu
Snap
post
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:
  1. <?php
  2. $zbior = explode(&#092;"|\", $_SESSION['tekst']); //$zbior = 3-5|3-2|1-2|1-4|1-3|1-5|5-2
  3. $zbior = filtr&# 2d99 40;$zbior, 2);
  4.  
  5. ...
  6.  
  7. $losujPrawyTekst = //losuje tekst z bazy
  8.  
  9. ...
  10.  
  11. $walka = $lewyTekst.&#092;"-\".$losujPrawyTekst; //$walka = 5-2
  12. $jest = array_search($walka, $zbior);
  13. ?>

i co dalej (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 23.08.2025 - 10:06