Losowanie bez zwracania w PHP

0

Mam na serwerze kilka linii z pytaniami.
Pobieram ilosc linii dajmy na to ze wszystkich jest 30 a ja chce pobrac losowo jedynie 15 ale pytania nie moga sie powtorzyc, jak to zrobic?

0

Mam na serwerze kilka linii z pytaniami.
Pobieram ilosc linii dajmy na to ze wszystkich jest 30 a ja chce pobrac losowo jedynie 15 ale pytania nie moga sie powtorzyc, jak to zrobic?

[???] Nie kapuje tego za bardzo: 'Mam na serwerze klika linii z pytaniami'.
W każdym razie byś pokazał ja to pobierasz to może zakapuje.

Pozdro... ;p

0

zapisz sobie te linie ktore juz pobrales i przed kazdym pobraniem sprawdz czy nie zostaly juz pobrane, jezeli tak to szukasz innej i tak dalej

0

W losowaniu możesz sobie pomóc funkcją rand();

Nadal nie rozumiem oco ci chodzi z tymi liniami, ale jak np. zapisałbyś te pytania z tych lini do takiej tablicy, to można by to było zrobić mniej więcej tak:

$pytania = array('Jak...', 'Czy można... ?', 'Dlaczego... ?'); // tu następuje definicja tablicy
$liczba_pytań = count($pytania); // sprawdzamy ilość elementów tablicy
$wylosuj_liczb = 2;  // wpisujemy ile chcemy wylosować liczb
$wylosowane = array(); // definiujemy tablicę z wylosowanymi pytaniami


for($i=0;$i < $wylosuj_liczb;$i++)
{
$licznik = rand(0,$liczba_pytań);
$dalej =true;
for($g=0;$g < $wylosuj_liczb;$g++){
if ($licznik == $wylosowane[$g])
$dalej = false;}
if(!$dalej)
$i = $i - 1;
else{
$wynik[$i] = $pytania[($licznik-1)];
$wylosowane[$i] = $licznik;
}
}

Teraz wystarczy sobie wyświetlić w jakiejś pętelce tablicę $wynik.
Pozdro... ;p

0

Siema.

Niby wszystko wydaje sie byc w porzadku ale linijki

if(!$dalej)
$i = $i - 1;

zawieszaja mi przegladarke. Niby "mysli" ale nic sie nie dzieje a potem przestaje odpowiadać. Gdy zaremuje te linie, wszystko dziala, ale losowanie jest wtedy ze zwracaniem :(

Pomozcie..

0

Jak już wylosujesz pytanie, to po prostu zapisuj jego numer w cookie, lub przekazuj tablicę z numerami "zużytych" pytań metodą post w jakimś ukrytym polu formularza.

0

"(...)lub przekazuj tablicę z numerami "zużytych" pytań metodą post w jakimś ukrytym polu formularza(...)"

Bardzo dobre rozwiazanie, gratuluje dobrego pomyslu..

Ale jeszcze mala prosba. Nie wiem jak to zrobic, czy moglibyscie pomoc?

0

"(...)lub przekazuj tablicę z numerami "zużytych" pytań metodą post w jakimś ukrytym polu formularza(...)"

Bardzo dobre rozwiazanie, gratuluje dobrego pomyslu..

Ale jeszcze mala prosba. Nie wiem jak to zrobic, czy moglibyscie pomoc?

<input name="pytania" type="hidden" value="tu_sa_te_pytania">

Pozdro... ;p

1 użytkowników online, w tym zalogowanych: 0, gości: 1