![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 267 Pomógł: 6 Dołączył: 8.04.2013 Ostrzeżenie: (0%) ![]() ![]() |
Witam piszę sobie dla nauki pewne skrypty ostatnio i jak czegoś nie wiem to pytam (IMG:style_emoticons/default/biggrin.gif)
Mam do was prośbę abyście odesłali mnie do jakiś źródeł jak zrobić pewien system ("losowania/przydzielania") Dokładniej Mam w bazie danych tabele zawodnicy // id // imie i nazwisko // klub // i np: 1 // Wacał Markowski // Wojownik Elbląg itd... Załóżmy, że mam 16 zawodników i skrypt ma losowo dobrać ich w prawy, z tym że musza być z innego klubu i to jest pierwsza runda. Potem skrypt z pozostałych 8 losuje między sobą z tym że jeżeli istnieje taka możliwość muszą być z różnych klubów i tak dalej aż do półfinału... Jakich funkcji użyć ? Może jakieś podpowiedzi / części kodu ? Może link do manuala Będę wdzięczny za każdą pomoc (IMG:style_emoticons/default/smile.gif) |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Moderatorzy Postów: 36 559 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Losujesz pierwszego, potem dla niego szukasz drugiego z innego klubu.
Potem losujesz znowu jednego i dla niego drugiego z innego klubu. itd Gdy w danym losowaniu nie bedzie kolesia z innnego klubu, to wowczas losujesz z jego klubu |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 267 Pomógł: 6 Dołączył: 8.04.2013 Ostrzeżenie: (0%) ![]() ![]() |
@UP
Dzięki za podpowiedź takie rozwiązanie jest dobre bo czy będę miał 30 czy 10 to się sprawdzi Oczywiście jeżeli liczba jest nie parzysta to przechodzi bez walki itd. I to sobię zrobie na if'ach ale jakiej funkcji użyć do losowania ? Byłbym wdzięczny bardzo za jakieś przykładowe kawałki kodu (IMG:style_emoticons/default/wink.gif) |
|
|
![]()
Post
#4
|
|
Grupa: Moderatorzy Postów: 36 559 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
jesli robic bedziesz w bazie to
...order by rand() Przy tak malej liczbie rekordow jest to wystarczajace rozwiązanie |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 267 Pomógł: 6 Dołączył: 8.04.2013 Ostrzeżenie: (0%) ![]() ![]() |
@UP
Wolałbym zrobić to jednak na innej zasadzie. Pobieram dane z bazy do tablicy. Wybieram pierwszego zawodnika z listy i losuję do niego z innym klubem -> Jak to napisać ? |
|
|
![]()
Post
#6
|
|
Grupa: Moderatorzy Postów: 36 559 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Co ty z tym UPem? Przeciez wiem ze z dolem nie gadasz...
W bazie mozesz zrobic warunki w zapytaniu. Robiąc to na tablicy w php bedziesz musial latac i sprawdzac wszystko pokolei |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 267 Pomógł: 6 Dołączył: 8.04.2013 Ostrzeżenie: (0%) ![]() ![]() |
A mógłbyś podać jakiś konkretny przykład bo właśnie ja widzę tylko taką moetodę po kolei...
|
|
|
![]()
Post
#8
|
|
Grupa: Moderatorzy Postów: 36 559 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Nie bardzo rozumiem w czym problem. Napisalem ci krok po kroku co masz robic. Podalem ci jak sie losuje w mysql. Jaki masz konkretnie problem?
|
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 267 Pomógł: 6 Dołączył: 8.04.2013 Ostrzeżenie: (0%) ![]() ![]() |
Podałeś mi tylko metodę sortowania wyników z bazy danych...
order by rand() i to rozumiem ale do tego warunku nie da się dopisać że nie mogę być z 1 drużyny... |
|
|
![]()
Post
#10
|
|
Grupa: Moderatorzy Postów: 36 559 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
No juz takie podstawy jak
....WHERE ID_DRUZYNY<>ID_DRuZYNY_KOLESIA_DLA_KTOREGO_SZUKASZ juz sobie darowalem. Sadzilem ze umiesz korzystac z WHERE w zapytaniach... |
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 267 Pomógł: 6 Dołączył: 8.04.2013 Ostrzeżenie: (0%) ![]() ![]() |
Ale takim sposobem dla każdego kolesia muszę szukać odzielnie... a ja nie będę miał stałej liczby tylko np będę musiał dopisać 10 zawodników to 10 będę musiał dorobić 10 zapytań ...
Nie ma jakiegoś innego sposobu > |
|
|
![]()
Post
#12
|
|
Grupa: Moderatorzy Postów: 36 559 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Cytat Ale takim sposobem dla każdego kolesia muszę szukać odzielnie No tak. Dokladnie to wynikalo z psedokodu jaki ci podalem.
|
|
|
![]()
Post
#13
|
|
Grupa: Zarejestrowani Postów: 267 Pomógł: 6 Dołączył: 8.04.2013 Ostrzeżenie: (0%) ![]() ![]() |
Mógłby ktoś napisać mi jakiś przykład w PHP ?
Próbowałem to zrobić ale coś mi nie wyszło... (IMG:http://s3-eu-west-1.amazonaws.com/screenshooter-legacy/ea-uzovsdqgmuglbdsoxdgk.jpg)
Niestety nie działa i chyba nie za bardzo ma prawo działać... |
|
|
![]()
Post
#14
|
|
Grupa: Zarejestrowani Postów: 4 291 Pomógł: 829 Dołączył: 14.02.2009 Skąd: łódź Ostrzeżenie: (0%) ![]() ![]() |
Po co pobrałeś rekordy jeśli z nich nie korzystasz :/ $result1 = pobierz wszystkich zawodnikow foreach($result1 as $v){ $result2 = pobierz zawodnika gdzie drużyna!=$v[druzyna] para: $v[imie] $result2[imie] } |
|
|
![]()
Post
#15
|
|
Grupa: Zarejestrowani Postów: 267 Pomógł: 6 Dołączył: 8.04.2013 Ostrzeżenie: (0%) ![]() ![]() |
Dzięki wielkie ale coś nadal mi nie działa....
Ten post edytował Xart 24.04.2014, 16:43:06 |
|
|
![]()
Post
#16
|
|
Grupa: Zarejestrowani Postów: 4 291 Pomógł: 829 Dołączył: 14.02.2009 Skąd: łódź Ostrzeżenie: (0%) ![]() ![]() |
gdzie jest fetch_assoc? a w drugim fetch row
Ten post edytował Turson 24.04.2014, 16:43:46 |
|
|
![]()
Post
#17
|
|
Grupa: Zarejestrowani Postów: 267 Pomógł: 6 Dołączył: 8.04.2013 Ostrzeżenie: (0%) ![]() ![]() |
Fakt ...
Poprawiłem i wyświetla ale nie tak jak chce ;/
Ĺukasz vs RafaĹ RafaĹ vs Ĺukasz Dominik vs RafaĹ Kuba vs Ĺukasz Diana vs RafaĹ Krystian vs Ĺukasz Marian vs Ĺukasz Szuh vs RafaĹ Każdy zawodnik może walczyć z każdym tylko jeden raz i ma to być dobrane losowo a nie wszystkie kombinacje Czyli jak masz np 8 zawodników to powinny wylosować się 4 walki np numery 1-4 5-8 2-3 6-7 albo 1-3 2-4 5-7 6-8 ITP a nie tutaj każdy walczy z każdy... ;/ Oczywiście ma to być poprostu losowanie... Dowolnie ma wylosować zawodników do siebie i tyle aby nie byli w tej samej drużynie chyba że nie ma innej możliwości Ten post edytował Xart 24.04.2014, 17:56:59 |
|
|
![]()
Post
#18
|
|
Grupa: Moderatorzy Postów: 36 559 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Napisalem ci jak to zrobic.Czemu nie zrobisz jak napisalem?
|
|
|
![]()
Post
#19
|
|
Grupa: Zarejestrowani Postów: 267 Pomógł: 6 Dołączył: 8.04.2013 Ostrzeżenie: (0%) ![]() ![]() |
Bo nie rozumiem tego co napisałeś - jak ty byś chciał to sprawdzać i kompletnie nie wiem jak zacząć. Mógłbyś mi to opisać krok po kroku z fragmentami kodu ? Byłbym bardzo wdzieczny nie zalezy mi zbytnio na czasie ale analizujac ten kod bym sie nauczył. Sory za błędy - tele
|
|
|
![]()
Post
#20
|
|
Grupa: Moderatorzy Postów: 36 559 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Masz napisane:
"Losujesz pierwszego, potem dla niego szukasz drugiego z innego klubu." Czego tu nie rozumiesz? Masz napisac zapytanie, ktore wylosuje ci jednego uzytkownika. Potem masz napisac zapytanie, ktore wylosuje tez jednego uzytkownika, ale z innego klubu. Wszelkie niezbedne informacje jak to sie robi napisalem ci. Operacje te powtarzasz tyle razy ile razy cchesz miec par. Oczywiscie w kazdym zapytaniu musi sie znalezc warunek, by nie losowal wylosowanych juz userow. Ale to jest proste, bo wylosowanych userow bedziesz zapisywal w tablicy php a potem do kazdego zapytania przekazywal ID wylosowanych userow by nie bral ich pod uwage |
|
|
![]()
Post
#21
|
|
Grupa: Zarejestrowani Postów: 267 Pomógł: 6 Dołączył: 8.04.2013 Ostrzeżenie: (0%) ![]() ![]() |
Tak tylko dla mnie nie jest to takie proste :/ moglbys mi takie cos napisac ?
|
|
|
![]()
Post
#22
|
|
Grupa: Moderatorzy Postów: 36 559 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
zapytanie losujace uzytkownia ci podalem
zapytanie losujace uzytkownika z innnej grupy tez ci podalem W tej chwili masz poprostu lenia. Dopoki sie go nie pozbedziesz, nie licz na pomoc. |
|
|
![]()
Post
#23
|
|
Grupa: Zarejestrowani Postów: 267 Pomógł: 6 Dołączył: 8.04.2013 Ostrzeżenie: (0%) ![]() ![]() |
... ze co ? Ja nie mam lenia (IMG:style_emoticons/default/tongue.gif) podaj mi jeszcze raz te zapytania bo jakos nie widze...
|
|
|
![]()
Post
#24
|
|
Grupa: Moderatorzy Postów: 36 559 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
...order by rand() limit 1
.......WHERE ID_DRUZYNY<>ID_DRuZYNY_KOLESIA_DLA_KTOREGO_SZUKASZ .... |
|
|
![]()
Post
#25
|
|
Grupa: Zarejestrowani Postów: 267 Pomógł: 6 Dołączył: 8.04.2013 Ostrzeżenie: (0%) ![]() ![]() |
Powiedz mi jeszcze czy da sie to zrobic jakos petlą zeby skrypt dzialal dobrze niezaleznie od liczby rekordow. Jak zapisac wylosowane id do tablicy i jak sprawdzic czy to id w tablicy juz jest. (IMG:style_emoticons/default/smile.gif)
Ten post edytował Xart 24.04.2014, 18:53:18 |
|
|
![]()
Post
#26
|
|
Grupa: Moderatorzy Postów: 36 559 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
PObierasz liczbe rekordow, dzielisz przez dwa i masz liczbe par
Jak zapisac w php cos do tablicy? Odnosze wrazenie ze ty sie cofasz, zamiast isc do przodu.... zajrzyj do manuala, tam takie podstawy są podane (IMG:style_emoticons/default/smile.gif) |
|
|
![]()
Post
#27
|
|
Grupa: Zarejestrowani Postów: 267 Pomógł: 6 Dołączył: 8.04.2013 Ostrzeżenie: (0%) ![]() ![]() |
Bo dawno nic nie pisałem i może dlatego... jak bede po 21 na kompie sproboje to zrobic.
Witam... napisałem na razie takie coś i odrazu pytam czy to zadziała na takiej zasadzie jak chce to po 1. Po 2 nie wiem jak w zapytaniu SQL sprawdzić że id nie ma w tablicy Po wykonaniu zapytań muszę do tej tablicy zapisać zmienne $uzyteid1 i $uzyteid2 Co wy na to ?
Nie wiem, nie mam już pomysłów próbowałem to robić różnymi sposobami nawet tablice sortować czyli
Nie wiem, nie mam pojęcia jak to ugryźć byłbym wdzięczny, gdyby ktoś zechciał mi ten skrypt napisać... Pozdrawiam |
|
|
![]()
Post
#28
|
|
Grupa: Moderatorzy Postów: 36 559 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
|
|
|
![]()
Post
#29
|
|
Grupa: Zarejestrowani Postów: 267 Pomógł: 6 Dołączył: 8.04.2013 Ostrzeżenie: (0%) ![]() ![]() |
Dzięki wielkie ale rozwiazałem to w trochę inny sposób (IMG:style_emoticons/default/smile.gif)
Można zamknąć: Mój KOD
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 11.10.2025 - 15:24 |