Извеждане на топ десет.

FestarBG

Registered
Здравейте,

мъча се над един код вече 20 минути, и представа си нямам как ще се получи нещото,което искам.Правя система за футболни залагания, и искам да изведа топ 10 на потребителите с най много точки.Това е елементарно, но искам още и да изведа топ 10 на потребителите с най-много познати мачове (най-голяма ефективност).Напрамер слагам 2 мача, познавам ги и двата.Тогава ефективността ми е 100% и трябва да съм на първо място в класацията (по ефектиност).Най-добре да дам структурата на дб:
Код:
TABLE `bets` :

  `id` int(8) NOT NULL auto_increment,
  `tipster` varchar(20) NOT NULL default '',
  `date` varchar(16) NOT NULL,
  `time` varchar(16) NOT NULL,
  `league` varchar(16) NOT NULL default '',
  `sport` varchar(32) NOT NULL default '',
  `match` varchar(100) NOT NULL default '',
  `izbor` varchar(16) NOT NULL default '',
  `koef` float NOT NULL,
  `zalog` int(4) NOT NULL,
  `bookmaker` varchar(32) NOT NULL,
  `made` varchar(16) NOT NULL,
  `valid` int(1) NOT NULL default '0',
  `checked` int(1) NOT NULL default '0',
  `result` varchar(1) NOT NULL default '',
  PRIMARY KEY  (`id`)

Ако прогнозата е вярна, в `result` се записва 1, ако е грешна - 0.Може и да не ми пишете целия код, нужна ми е само идеята как ще стане.

Мерси много.
 
Еми идеята е лесна.

Това, което ти искаш е да ти сметне процентите.

(твои победи / общо твои мачове) * 100 = получаваш процентите
 
HunteR каза:
Еми идеята е лесна.

Това, което ти искаш е да ти сметне процентите.

(твои победи / общо твои мачове) * 100 = получаваш процентите

След това сортираш по проценти и така... :)
 
Код:
$poznati = 10;
$nepoznati = 5;

if ($poznati >= $nepoznati)
 {
  $obshto = $poznati + $nepoznati;
  if ($nepoznati == 0) {$nepoznati = 1;}
  $koefpoznati = $obshto/100 * $nepoznati;
  $koefnepoznati = $obshto/100 * $poznati;
  $procent = ($koefpoznati/$koefnepoznati)*100;
 }
 else
 {
  $procent = 0;
 }
echo $procent;

Yess :D Сега ще го изчистя да е по-прегледно :)
ПП: Това е :) Тествах го и работи :} SuN :D

Всеки път когато записва дали мача е познат или не е да минава през този код и да записва коефициента на познаваемост :} Можеш да си го направиш и като функция.

HunteR каза:
Еми идеята е лесна.

Това, което ти искаш е да ти сметне процентите.

(твои победи / общо твои мачове) * 100 = получаваш процентите

Сега тествах това и по тази логика трябва да стане:
Код:
$poznati = 10;
$nepoznati = 5;
echo ($poznati/($poznati+$nepoznati))*100;
което не връща 50, а 66.666....
 
п.с.
Тогава всеки нов, който е познал мач ще има 100% и напрактика топ10 ще ти се състои само от 100%-ви туко-що регистрирали се хора, което напрактика обезмисля класацията.
Ще е хубаво да преобмислиш идеята ;)
 
Може да листва процента на познаване и общо познати/непознати например:

някаквоиме 50% 100/50
дасдасдасд 50% 200/100
дасдасдасд 25% 1000/250

и хората сами да си правят изводите.
 
Май не ме разбрахте много, или аз не съм се изразил добре.Знам как да изчисля процентите, измислил съм го ако нямаш поне 3 познати, да не те брои в класацията, но самото извеждане не ми е ясно.Ако имаме следните записи в дб,по какъв начин ще мога да изведа:

1.asd 100% (1)
2.velikov 100% (1)

Тъй като имам само 2 удобрени, и двата са верни.

Мерси много.. :)
 

Back
Горе