anonīms Posted April 13, 2010 Report Share Posted April 13, 2010 (edited) Neesmu nekad šādas "izvirtības" veidojis, bet doma ir tāda. Pašlaik rangs tiek sadalīts starp visiem spēlētājiem, kaut arī viņi teiksim noteikto spēli nav vispār spēlējuši nevienu reizi. Tad nu šādu iespēju vajag izslēgt. Patreizējais kods mysql_query("UPDATE ".PREFIX."lietotaji SET ".$game."_now_rank = @i".$game."_now_rank := @i".$game."_now_rank + 1 ORDER BY ".$game."_rating DESC, id ASC") or die(mysql_error()); Mans "testa kods" mysql_query("UPDATE ".PREFIX."lietotaji SET ".$game."_now_rank = @i".$game."_now_rank := @i".$game."_now_rank + 1 WHERE (SELECT count(t1.kas_spele) FROM ".PREFIX."1_tipa_speeles AS t1, ".PREFIX."tournaments AS t2 WHERE t2.game = '".$game."' AND ".PREFIX."lietotaji.id = t1.kas_spele) > 0 ORDER BY ".$game."_rating DESC, id ASC") or die(mysql_error()); Problēma ir tur, ka visi, kuri nav spēlējuši arī tiek skaitīti kaut arī viņiem reitinga punkti ir 0. Kur varētu būt problēma? EDIT: + mistiski rangu sāk dot tikai no 22 cipara. o0 Edited April 13, 2010 by anonīms Quote Link to comment Share on other sites More sharing options...
marcis Posted April 13, 2010 Report Share Posted April 13, 2010 Moška pieglabā lietotāju tabulā izspēlēto spēļu skaitu? Atvieglosi sev dzīvi :) Quote Link to comment Share on other sites More sharing options...
anonīms Posted April 13, 2010 Author Report Share Posted April 13, 2010 njā, par to nebiju iedomāijes. Tomēr gaidu vēl citu variantus. Ja tomēr tādi nebūs, tad šķiet, ka tā arī vajadzēs darīt. Quote Link to comment Share on other sites More sharing options...
php newbie Posted April 13, 2010 Report Share Posted April 13, 2010 bišk nevaru iebraukt... gadījumā neesi aizmirsis sadžoinot t1 un t2? varbūt uzraksti tabulu struktūru Quote Link to comment Share on other sites More sharing options...
Grey_Wolf Posted April 13, 2010 Report Share Posted April 13, 2010 (edited) Nebiju pamanijis ka if/else kaads ir atcelis !! Edited April 13, 2010 by Grey_Wolf Quote Link to comment Share on other sites More sharing options...
anonīms Posted April 13, 2010 Author Report Share Posted April 13, 2010 Ko, ko Grey_Wolf? :D Quote Link to comment Share on other sites More sharing options...
Grey_Wolf Posted April 13, 2010 Report Share Posted April 13, 2010 (edited) Ko, ko Grey_Wolf? :D Nu izmanto tachu SQL IF/ELSE iespejas. Updeitam izmanto tikai tos ierakstus kas atbilst noteiktam kriterijam, ne tikai peec WHERE bet papildus arii peec IF/ELSE. --- SQL lieliski tiek gala ar logiku ( IF/ELSE; AND; OR ) Edited April 13, 2010 by Grey_Wolf Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.