mam cos takiego wbazie danych iles tam rekordow z zawodnikami i kazdy ma podamy identyfikator id oraz nie ma przydzielonej nazwy klubu. j teraz jak stworzyc zeby podczas rejestracji losowo 12 zawodnikow z wykreslonego przedzialu zawodnikow ktorzy nie maja przydziellonej nazwy klubu. wiem ze mozna w funkcji rand() wstawic indeks z tymi liczbami ale jak to zrobic zeby ten indeks wczesniej byl genarowany pod wzgledem ilosci liczb i wogule. ten indeks oczywiscie ma zawierac numer id z bazy danych (indentyfikator).
Eqalizer
9.09.2007, 22:46:57
1. Pobierasz id zawodników bez drużyny z bazy danych do tablicy. 2. Zliczasz elementy tablicy (count()). 3. Pętla for przelatuje 12 razy, za każdym razem losuje rand(0, count()). 4. W ten sposób masz 12 losowych zawodników bez drużyny.
O to chodziło?
AxZx
9.09.2007, 23:36:42
mozna odrazu napisac takie zapytanie ktore losuje 12 zawodnikow bez druzyny jest takie cos jak rand w mysql, jest tez limit no i oczywiscie jest where
franki01
10.09.2007, 08:38:07
AxZx napisal dobrze jak dla mnie
Kod
SELECT * FROM `zawodnicy` WHERE `klub`=0 ORDER BY RAND() LIMIT 12;
Zakladam ze pole `klub` jest typu INT, gdzie sa podane id druzyny.
Eqalizer
10.09.2007, 10:38:22
Rozwiązanie AxZx'a będzie zdecydowanie szybsze
jawka7
10.09.2007, 17:43:39
ok wielkie dzieki udalo sie ;]
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.