![]() |
![]() |
![]()
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 |
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 2 262 Pomógł: 21 Dołączył: 3.05.2004 Skąd: Sopot, Krakow, W-wa Ostrzeżenie: (0%) ![]() ![]() |
:?: -------------------- Javascript, Coffeescript, Node.js, Mongo, CouchDb, chmury, workery & inne bajery - zycie jest zbyt krotkie aby miec nudna prace :)
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 401 Pomógł: 1 Dołączył: 10.03.2004 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Dzięki, ale możesz więcej szczegołów.
|
|
|
![]()
Post
#4
|
|
Grupa: Przyjaciele php.pl Postów: 7 494 Pomógł: 302 Dołączył: 31.03.2004 Ostrzeżenie: (0%) ![]() ![]() |
A jakie szczegóły tu objaśniać :?:
Zapytanie ustawia w losowy sposób wszystkie rekordy z tabeli i zwraca pierwsze 500. Distinct gwarantuje że wszystkie będę różne. Opisy wszystich poleceń znajdziesz, ..., gdzie? w manualu. |
|
|
![]()
Post
#5
|
|
![]() 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 |
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 2 262 Pomógł: 21 Dołączył: 3.05.2004 Skąd: Sopot, Krakow, W-wa Ostrzeżenie: (0%) ![]() ![]() |
php -> Bazy danych
-------------------- Javascript, Coffeescript, Node.js, Mongo, CouchDb, chmury, workery & inne bajery - zycie jest zbyt krotkie aby miec nudna prace :)
|
|
|
![]()
Post
#7
|
|
![]() Grupa: Przyjaciele php.pl Postów: 5 724 Pomógł: 259 Dołączył: 13.04.2004 Skąd: N/A Ostrzeżenie: (0%) ![]() ![]() |
OT:
OOP: tworzysz talieKart z kartami (taliaKart = new TaliaKart()) tasujesz talie (taliaKart->shuffle()) wyciagasz z niej karty (taliaKart->drawCard()) zuzyte karty odrzucamy na DiscardPile (po polsku: "na kupke" DP->push( card ) ) gdy jest juz pusta (taliaKart->isEmpty()) to pobieramy karty z kupki ( x = DP->popAllCards()) i dodajemy do decka ( taliaKart->add( x ) ) mozemyt ja potem potasowac (taliaKart->shuffle()) itd. Pisalem kiedys Black Jacka w JS bez OO -- masakra ![]() -------------------- Nie lubię jednorożców.
|
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 401 Pomógł: 1 Dołączył: 10.03.2004 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
To wszystko pięknie wygląda i działa, ale muszę przeprowadzić takie losowanie jednorazowo i wylosowanym osobom dopisać w bazie 1 - czyli wylosowany. Bo po losowaniu bedę kilkakrotnie odwoływał się do bazy z osobami, żeby sprawdzić, kto został wylosowany, a kto nie. Dodatkowo do wszystkich będę wysyłał maile z info, czy zostal wylosowany, czy nie, wiec muszę w bazie mieć zapisane 1 albo 0, 1-wylosowany, 0-nie wylosowany.
|
|
|
![]()
Post
#9
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
trzeba bylo tak od razu
![]()
-------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 401 Pomógł: 1 Dołączył: 10.03.2004 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Dzięki nospor, o to mi chodziło, że sam na to nie wpadłem...
Pomogłeś już mi kilkakrotnie ![]() |
|
|
![]() ![]() |
![]() |
Aktualny czas: 20.08.2025 - 23:54 |