Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Jak wylosowac 500 osób z bazy?
miedzna
post
Post #1





Grupa: Zarejestrowani
Postów: 401
Pomógł: 1
Dołączył: 10.03.2004
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


Mam formularz zgłoszeniowy który dodaje osoby do bazy. Zgłasza się np 2000 osób. Po zakonczeniu zgłoszeń musze wylosować spośród zgłoszonych 500 osób. Oczywiście żadna osoba nie może być wylosowana 2 razy, oraz po wylosowaniu musi otrzymać: 1-wylosowany bądź 0-odrzucony.
Chodzi mi o automatyzacje tego procesu, bo później muszę wysłać do wylosowanych maila z info, że wylosowany, oraz do odrzuconych, że odrzucony.

Nie wiem, jak się do tego zabrać, próbowałem na wstępie losować, czyli przy dodawaniu do bazy robię rand(0,1) i juz, ale w ten sposób nie kontroluję liczbę wylosowanych, a muszę wylosować 500 osób.

Jakieś rady?

Ten post edytował miedzna 1.09.2005, 11:06:18
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
php programmer
post
Post #2





Grupa: Zarejestrowani
Postów: 1 045
Pomógł: 5
Dołączył: 8.11.2004
Skąd: trójmiasto

Ostrzeżenie: (0%)
-----


Miałem kiedyś podobny problem jak pisałem pokera (w pascalu).
Po rozdaniu kart, nie mogły byś użyte jeszcze raz te same karty.

Ja zrobiłem to tak, że:
Jest tablica, zaznaczasz że ostatnim elementem możliwym do losowania (max) jest na początku długość tablicy.

w pętli losujesz liczbę (a dokładniej indeks tablicy) z zakreseu 0 do max
zamieniasz dane w tablicy o indeksie max z danymi w tablicy o indeksie wylosowanym czyli wylosowana osoba leci na koniec tablicy
a max robisz o jeden mniejszy max-- zeby nie wylosowal przypadkiem tej ostatniej osoby przy nastepnym obrocie pętli
i tak w pętli jedziesz tyle razy ile chcesz wylosować różnych osob...

Ten post edytował php programmer 1.09.2005, 11:42:26
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: 7.10.2025 - 04:51