Въпрос за теглене на жребий в една игра...

cold_zero

Registered
Представете си българското футболно първенство, но не с 16 отбора, а с 24. Тези 24 отбора са записани в базата данни под определен критерии тоест полето в ДБ ligaid. Във всяка лига има по 24 отбора. Искам да бъде теглен жребий между тези отбори както в някое футбулно първенство и да бъдат играни, скрипта за провеждането на мача аз ще си го пиша, просто незнам как да определя мачовете, за първи и втори полусезон и да са с разменени гостувания спрямо полусезона... ;( Моля ви помогнете, много ми е спешно. Дайте някакви идеи как дори и без код...
 
Незнам :( :( :( :cry: :cry: , на идея си нямам поне за момента...Някакво обяснение би ме светнало ала бала или...незнам :cry: :cry: Мн спешно ми трява :cry: :cry:
 
cold_zero каза:
Незнам :( :( :( :cry: :cry: , на идея си нямам поне за момента...Някакво обяснение би ме светнало ала бала или...незнам :cry: :cry: Мн спешно ми трява :cry: :cry:

По-горе ти дадох идея как да си направиш query-то, за да избереш само 1случаен ред от БД. В PHP ще изглежда така:
$rez = mysql_query("SELECT * FROM YourTableName WHERE id=CEIL(RAND(3)*100)",$dblink);
Иии това работи добре според мен-не ти е нужно да извличаш безумно много записи от БД, след което да ги разбъркваш-т.е. е и бързо.

8)
 
Виж и това:
http://web-tourist.net/forum/viewtopic.php?t=27658
Трябва да обърнеш внимание на:
RAND(КОЛКО)*КОЛКО, за да не получаваш празни NULL резултати:
:)
 
cold_zero каза:
Фактически това CEIL(RAND(3)*100) разбърква id-тата ли какво?

Дай някакво по-подробно обяснение?
RAND(X-ЗНАКА) -> 0.XXX случайно число < 0
Умножавам го по 100 и получавам XX.X
CEIL го закръглява, за да го ползвам за WHERE id=цяло число
 
Код:
$chars="SET CHARACTER SET cp1251";mysql_query($chars);
$query = "SELECT * FROM otbori WHERE ligaid='$ligaid'";
$result = mysql_query($query) or die('Error, query failed');
$random = array();
while($row = mysql_fetch_array($result)) array_push(&$random,$row);
shuffle(&$random);
$temp = 1;
foreach ($random as $randomized){
if ($temp%2) {
$inserting = $randomized['id'];
echo ($randomized['id']." - ");
}
else {
$chars="SET CHARACTER SET cp1251";mysql_query($chars);
$result_count = mysql_query("SELECT COUNT(ligaid) as count FROM machove WHERE domakin='".$inserting."' AND gost = '".$randomized['id']."'") or die (mysql_error());
$prow = mysql_fetch_array($result_count);
if(!$prow['count'])
{
mysql_query("INSERT INTO machove (ligaid,sezon,kryg,domakin,gost) VALUES('".$ligaid."','1','1','".$inserting."','".$randomized['id']."')");
echo ($randomized['id']."<br>");
}
}
$temp++;
}

Как да го направя да не остава остатък?
 

Back
Горе