Jump to content
php.lv forumi

sadalīt pa grupām (query + rand)


anonīms

Recommended Posts

Kā dabūt gatavu, tādu lietu?

 

Ir turnīrs ar noteiktu komandu skaitu 8 vai 16

 

if($id_turnirs['teams'] == 8) { $grupu_skaits = 2; } elseif($id_turnirs['teams'] == 16) { $grupu_skaits = 4; }

 

 

gala rezultātā visma komandām kurām turnira_id = ID un status = YES vajag iedalīt pa grupai, bet lai vienā grupā nav vairāk par 4 komandām..

Ceru, ka sapratāt..

 

edited:

 

kaut kā tā laikam apmēram

 

while (true)
{
$grupa = rand(1,$grupu_skaits);

/* te nezinu kā */

break; // ja komadnas noteiktajā ID jau ir par daudz.
}

Edited by anonīms
Link to comment
Share on other sites

Stulbākajā veidā izveido masīvu ar tiem grupu numuriem tik, cik tev viņu tur vajag. Piemēram, ja ir 3 grupas, tad izveido masīvu array(1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3);

Un tad attiecīgi ar array_rand fju izvēlies un izmet no masīva skaitli visām grupām pēc kārtas.

Link to comment
Share on other sites

if($id_turnirs['teams'] == 8)
{ 
$grupas_komandaam = array('1','1','1','1','2','2','2','2');
}
elseif($id_turnirs['teams'] == 16)
{ 
$grupas_komandaam = array('1','1','1','1','2','2','2','2','3','3','3','3','4','4','4','4');
}
shuffle($grupas_komandaam);

foreach($grupas_komandaam as $g_k)
{
echo $g_k;

// Kveriju vajag

}

 

tikai vel pēdējā lieta.

Kā man apdeitot, precīzāk kā, lai iegūst katras komandas id

 

$sql = "UPDATE gamefarm_turniru_komandas SET grupa = $g_k WHERE komandas_id = {kur man sho izraut?) AND turnira_id = {$_GET['id']}";
mysql_query($sql);

 

komandu liste nav iekšs form.

Link to comment
Share on other sites

es biku savādāk:

1. visu grupu id sametam masīvā. pofig kāda secība.

2. sajaucam secību.

3. ejam cauri masīvam un katru no elementiem metam grupā x (kas ik pa četriem elementiem +1). pieejams gan id, gan arī grupas kārtas numurs.

4. kāds tev katram grupas numuram pienākas turnīra id, izdomā pats... (turnīrs ir domāts grupa manā tekstā)

5. pilnīgi po, cik komandas beigu beigās ir.

Edited by Val
Link to comment
Share on other sites

×
×
  • Create New...