Advertisement
Guest User

Untitled

a guest
Aug 7th, 2017
112
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 12.81 KB | None | 0 0
  1. <?php
  2.  
  3. $servername = "localhost";
  4. $username = "root";
  5. $password = "root";
  6. $dbname = "testing";
  7. $conn = new mysqli($servername, $username, $password, $dbname);
  8.  
  9.  
  10. //builtteam object
  11. $infoArray = new stdClass();
  12. $infoArray->defs = [98, 34, 101, 97, 138];
  13. $infoArray->fwds = [212, 25, 92];
  14. $infoArray->gk = [260, 74];
  15. $infoArray->mid = [16, 228, 409, 454, 453];
  16. $totalMoney = 100;
  17.  
  18. //pickteam object
  19. $maininfoArray = new stdClass();
  20. $maininfoArray->defs = [98, 34, 101, 97];
  21. $maininfoArray->fwds = [212, 92];
  22. $maininfoArray->gk = [74];
  23. $maininfoArray->mid = [16, 409, 454, 453];
  24. $captain_id = 74;
  25. $vice_captain_id = 453;
  26. $totalMoney = 100;
  27.  
  28.  
  29. function getAllSubstitutesIds ($buildTeam, $pickedTeam) {
  30. $allSubIds = array();
  31. if($buildTeam && $pickedTeam) {
  32. $subDef = array_diff($buildTeam->defs, $pickedTeam->defs);
  33. $subFwds = array_diff($buildTeam->fwds, $pickedTeam->fwds);
  34. $subMid = array_diff($buildTeam->mid, $pickedTeam->mid);
  35. $subGk = array_diff($buildTeam->gk, $pickedTeam->gk);
  36. $allSubIds = array_merge($subDef,$subFwds, $subMid, $subGk);
  37. }
  38. return $allSubIds;
  39. }
  40.  
  41. function getAllSubstitutesIdsExceptGoalkeeper ($buildTeam, $pickedTeam) {
  42. $allSubIds = array();
  43. if($buildTeam && $pickedTeam) {
  44. $subDef = array_diff($buildTeam->defs, $pickedTeam->defs);
  45. $subFwds = array_diff($buildTeam->fwds, $pickedTeam->fwds);
  46. $subMid = array_diff($buildTeam->mid, $pickedTeam->mid);
  47. $allSubIds = array_merge($subDef,$subFwds, $subMid);
  48. }
  49. return $allSubIds;
  50. }
  51.  
  52. function getSubGoalkeeper ($buildTeam, $pickedTeam) {
  53. $subGk = array();
  54. if($buildTeam && $pickedTeam) {
  55. $subGk = array_diff($buildTeam->gk, $pickedTeam->gk);
  56. }
  57. return $subGk;
  58. }
  59.  
  60.  
  61. function checkPlayerHasPlayed($playtime) {
  62. $playerHasPlayed = false;
  63. if($playtime > 0) {
  64. $playerHasPlayed = true;
  65. }
  66. return $playerHasPlayed;
  67.  
  68. }
  69.  
  70. function isCaptain($playerId, $captain_id) {
  71. if($playerId == $captain_id)
  72. return true;
  73. else
  74. return false;
  75. }
  76.  
  77. function isViceCaptain($playerId, $vice_captain_id) {
  78. if($playerId == $vice_captain_id)
  79. return true;
  80. else
  81. return false;
  82. }
  83.  
  84.  
  85. function getPointFromSubstitutePlayer($buildTeam, $pickedTeam, $allData, $count ) {
  86. $pointsArray = array();
  87. if($count > 0) {
  88. $subPlayers = getAllSubstitutesIds($buildTeam, $pickedTeam);
  89. $subPlayersWithInfo = array();
  90. foreach ($subPlayers as $key => $id) {
  91. $key = array_search($id, array_column($allData, 'player_id'));
  92. if($allData[$key]) {
  93. $subPlayersWithInfo = $allData[$key];
  94. if(checkPlayerHasPlayed($subPlayersWithInfo['playing_time'])) {
  95. array_push($pointsArray, $subPlayersWithInfo['player_point']);
  96. if(count($pointsArray) > $count) {
  97. break;
  98. }
  99. }
  100. }
  101.  
  102. }
  103. }
  104. return $pointsArray;
  105. }
  106.  
  107. // $availabLeBalance = calculateInitialAvailableBalance($infoArray, $conn, $totalMoney) {;
  108.  
  109. function genratePointsInfoArray($allData, $buildTeamArry,$pickedTeamArray, $gameWeekArray , $captain_id, $vice_captain_id) {
  110. $pointFinalArrayStructure = array();
  111. $totalPointArray = array();
  112. $subsPointCount = 0;
  113. $pointArray = array();
  114. $metadata = array(
  115. 'pickedTeam' =>array (
  116. 'defs' =>array(),
  117. 'mid' =>array(),
  118. 'fwds' =>array(),
  119. 'gk' =>array()
  120. ),
  121. 'subs' => array(),
  122. 'subGk' => array()
  123. );
  124. $availableBalance = 0;
  125. $subIds = getAllSubstitutesIdsExceptGoalkeeper($buildTeamArry, $pickedTeamArray);
  126. $gkId = getSubGoalkeeper($buildTeamArry, $pickedTeamArray);
  127. foreach($gameWeekArray as $key => $gameweek){
  128. foreach ($allData as $key => $row) {
  129. $playtime = $row['playing_time'];
  130. $playerId = $row['player_id'];
  131. $playerPoint = $row['player_point'];
  132. foreach($buildTeamArry as $key => $value) {
  133. if(in_array($playerId, $value)){
  134. $player['id'] = $playerId;
  135. $player['points'] = (float) $playerPoint;
  136. if(isCaptain($playerId, $captain_id)) {
  137. $player['is_captain'] = true;
  138. $player['points'] = $player['points'] * 2;
  139. }
  140. else {
  141. $player['captain'] = false;
  142. }
  143.  
  144. if(isViceCaptain($playerId, $vice_captain_id)){
  145. $player['is_vice_captain'] = true;
  146. $player['points'] = $player['points'] * 1.5;
  147. }
  148. else {
  149. $player['is_vice_captain'] = false;
  150. }
  151. $substitute = false;
  152. if(in_array($playerId, $subIds)) {
  153. array_push($metadata['subs'], $player);
  154. $substitute = true;
  155. }
  156. elseif(in_array($playerId, $gkId)) {
  157. array_push($metadata['subGk'], $player);
  158. $substitute = true;
  159. }
  160. else
  161. array_push($metadata['pickedTeam'][$key], $player);
  162. $playerHasPlayed = checkPlayerHasPlayed($playtime);
  163. if($playerHasPlayed && !$substitute) {
  164. array_push($pointArray, $player['points']);
  165. }
  166. else if(!$playerHasPlayed && !$substitute) {
  167. $subsPointCount++ ;
  168. }
  169. }
  170. }
  171. }
  172. $subPointArr = getPointFromSubstitutePlayer($buildTeamArry, $pickedTeamArray, $allData ,$subsPointCount);
  173. $gameWeekPointArr =array_merge($pointArray, $subPointArr);
  174. $metadata['point'] = array_sum($gameWeekPointArr);
  175. array_push($totalPointArray, $metadata['point']);
  176. $metadata['game_week'] = $gameweek;
  177. array_push($pointFinalArrayStructure, $metadata);
  178. }
  179. $pointFinalArrayStructure['totalPoints'] = array_sum($totalPointArray);
  180. $pointFinalArrayStructure['teamName'] = 'Royal Challengers Banglore';
  181. echo json_encode($pointFinalArrayStructure);
  182. }
  183.  
  184. function calculateInitialAvailableBalance($allData, $buildTeamArry, $totalMoney) {
  185. $totalPlayerCost = 0;
  186. $availableBalance = 0;
  187. foreach ($allData as $key => $row) {
  188. $playerCost = $row["player_cost"];
  189. $playerId = $row['player_id'];
  190. foreach($buildTeamArry as $key => $value) {
  191. if(in_array($playerId, $value)){
  192. $totalPlayerCost += (float) $playerCost;
  193. }
  194. }
  195. }
  196. $availableBalance = $totalMoney - $totalPlayerCost;
  197. return $availableBalance;
  198. }
  199.  
  200. $sqlSel = "select * from players where game_week = 1";
  201. $results = $conn->query($sqlSel);
  202. $allData = mysqli_fetch_all ($results, MYSQLI_ASSOC);
  203.  
  204. genratePointsInfoArray($allData, $infoArray, $maininfoArray, $gameWeek = array(1), $captain_id, $vice_captain_id);
  205. calculateInitialAvailableBalance($allData, $infoArray, 100)
  206.  
  207.  
  208. ?>
  209. <?php
  210.  
  211. $servername = "localhost";
  212. $username = "root";
  213. $password = "root";
  214. $dbname = "testing";
  215. $conn = new mysqli($servername, $username, $password, $dbname);
  216.  
  217.  
  218. //builtteam object
  219. $infoArray = new stdClass();
  220. $infoArray->defs = [98, 34, 101, 97, 138];
  221. $infoArray->fwds = [212, 25, 92];
  222. $infoArray->gk = [260, 74];
  223. $infoArray->mid = [16, 228, 409, 454, 453];
  224. $totalMoney = 100;
  225.  
  226. //pickteam object
  227. $maininfoArray = new stdClass();
  228. $maininfoArray->defs = [98, 34, 101, 97];
  229. $maininfoArray->fwds = [212, 92];
  230. $maininfoArray->gk = [74];
  231. $maininfoArray->mid = [16, 409, 454, 453];
  232. $captain_id = 74;
  233. $vice_captain_id = 453;
  234. $totalMoney = 100;
  235.  
  236.  
  237. function getAllSubstitutesIds ($buildTeam, $pickedTeam) {
  238. $allSubIds = array();
  239. if($buildTeam && $pickedTeam) {
  240. $subDef = array_diff($buildTeam->defs, $pickedTeam->defs);
  241. $subFwds = array_diff($buildTeam->fwds, $pickedTeam->fwds);
  242. $subMid = array_diff($buildTeam->mid, $pickedTeam->mid);
  243. $subGk = array_diff($buildTeam->gk, $pickedTeam->gk);
  244. $allSubIds = array_merge($subDef,$subFwds, $subMid, $subGk);
  245. }
  246. return $allSubIds;
  247. }
  248.  
  249. function getAllSubstitutesIdsExceptGoalkeeper ($buildTeam, $pickedTeam) {
  250. $allSubIds = array();
  251. if($buildTeam && $pickedTeam) {
  252. $subDef = array_diff($buildTeam->defs, $pickedTeam->defs);
  253. $subFwds = array_diff($buildTeam->fwds, $pickedTeam->fwds);
  254. $subMid = array_diff($buildTeam->mid, $pickedTeam->mid);
  255. $allSubIds = array_merge($subDef,$subFwds, $subMid);
  256. }
  257. return $allSubIds;
  258. }
  259.  
  260. function getSubGoalkeeper ($buildTeam, $pickedTeam) {
  261. $subGk = array();
  262. if($buildTeam && $pickedTeam) {
  263. $subGk = array_diff($buildTeam->gk, $pickedTeam->gk);
  264. }
  265. return $subGk;
  266. }
  267.  
  268.  
  269. function checkPlayerHasPlayed($playtime) {
  270. $playerHasPlayed = false;
  271. if($playtime > 0) {
  272. $playerHasPlayed = true;
  273. }
  274. return $playerHasPlayed;
  275.  
  276. }
  277.  
  278. function isCaptain($playerId, $captain_id) {
  279. if($playerId == $captain_id)
  280. return true;
  281. else
  282. return false;
  283. }
  284.  
  285. function isViceCaptain($playerId, $vice_captain_id) {
  286. if($playerId == $vice_captain_id)
  287. return true;
  288. else
  289. return false;
  290. }
  291.  
  292.  
  293. function getPointFromSubstitutePlayer($buildTeam, $pickedTeam, $allData, $count ) {
  294. $pointsArray = array();
  295. if($count > 0) {
  296. $subPlayers = getAllSubstitutesIds($buildTeam, $pickedTeam);
  297. $subPlayersWithInfo = array();
  298. foreach ($subPlayers as $key => $id) {
  299. $key = array_search($id, array_column($allData, 'player_id'));
  300. if($allData[$key]) {
  301. $subPlayersWithInfo = $allData[$key];
  302. if(checkPlayerHasPlayed($subPlayersWithInfo['playing_time'])) {
  303. array_push($pointsArray, $subPlayersWithInfo['player_point']);
  304. if(count($pointsArray) > $count) {
  305. break;
  306. }
  307. }
  308. }
  309.  
  310. }
  311. }
  312. return $pointsArray;
  313. }
  314.  
  315. // $availabLeBalance = calculateInitialAvailableBalance($infoArray, $conn, $totalMoney) {;
  316.  
  317. function genratePointsInfoArray($allData, $buildTeamArry,$pickedTeamArray, $gameWeekArray , $captain_id, $vice_captain_id) {
  318. $pointFinalArrayStructure = array();
  319. $totalPointArray = array();
  320. $subsPointCount = 0;
  321. $pointArray = array();
  322. $metadata = array(
  323. 'pickedTeam' =>array (
  324. 'defs' =>array(),
  325. 'mid' =>array(),
  326. 'fwds' =>array(),
  327. 'gk' =>array()
  328. ),
  329. 'subs' => array(),
  330. 'subGk' => array()
  331. );
  332. $availableBalance = 0;
  333. $subIds = getAllSubstitutesIdsExceptGoalkeeper($buildTeamArry, $pickedTeamArray);
  334. $gkId = getSubGoalkeeper($buildTeamArry, $pickedTeamArray);
  335. foreach($gameWeekArray as $key => $gameweek){
  336. foreach ($allData as $key => $row) {
  337. $playtime = $row['playing_time'];
  338. $playerId = $row['player_id'];
  339. $playerPoint = $row['player_point'];
  340. foreach($buildTeamArry as $key => $value) {
  341. if(in_array($playerId, $value)){
  342. $player['id'] = $playerId;
  343. $player['points'] = (float) $playerPoint;
  344. if(isCaptain($playerId, $captain_id)) {
  345. $player['is_captain'] = true;
  346. $player['points'] = $player['points'] * 2;
  347. }
  348. else {
  349. $player['captain'] = false;
  350. }
  351.  
  352. if(isViceCaptain($playerId, $vice_captain_id)){
  353. $player['is_vice_captain'] = true;
  354. $player['points'] = $player['points'] * 1.5;
  355. }
  356. else {
  357. $player['is_vice_captain'] = false;
  358. }
  359. $substitute = false;
  360. if(in_array($playerId, $subIds)) {
  361. array_push($metadata['subs'], $player);
  362. $substitute = true;
  363. }
  364. elseif(in_array($playerId, $gkId)) {
  365. array_push($metadata['subGk'], $player);
  366. $substitute = true;
  367. }
  368. else
  369. array_push($metadata['pickedTeam'][$key], $player);
  370. $playerHasPlayed = checkPlayerHasPlayed($playtime);
  371. if($playerHasPlayed && !$substitute) {
  372. array_push($pointArray, $player['points']);
  373. }
  374. else if(!$playerHasPlayed && !$substitute) {
  375. $subsPointCount++ ;
  376. }
  377. }
  378. }
  379. }
  380. $subPointArr = getPointFromSubstitutePlayer($buildTeamArry, $pickedTeamArray, $allData ,$subsPointCount);
  381. $gameWeekPointArr =array_merge($pointArray, $subPointArr);
  382. $metadata['point'] = array_sum($gameWeekPointArr);
  383. array_push($totalPointArray, $metadata['point']);
  384. $metadata['game_week'] = $gameweek;
  385. array_push($pointFinalArrayStructure, $metadata);
  386. }
  387. $pointFinalArrayStructure['totalPoints'] = array_sum($totalPointArray);
  388. $pointFinalArrayStructure['teamName'] = 'Royal Challengers Banglore';
  389. return $pointFinalArrayStructure;
  390. }
  391.  
  392. function calculateInitialAvailableBalance($allData, $buildTeamArry, $totalMoney) {
  393. $totalPlayerCost = 0;
  394. $availableBalance = 0;
  395. foreach ($allData as $key => $row) {
  396. $playerCost = $row["player_cost"];
  397. $playerId = $row['player_id'];
  398. foreach($buildTeamArry as $key => $value) {
  399. if(in_array($playerId, $value)){
  400. $totalPlayerCost += (float) $playerCost;
  401. }
  402. }
  403. }
  404. $availableBalance = $totalMoney - $totalPlayerCost;
  405. return $availableBalance;
  406. }
  407.  
  408. $sqlSel = "select * from players where game_week = 1";
  409. $results = $conn->query($sqlSel);
  410. $allData = mysqli_fetch_all ($results, MYSQLI_ASSOC);
  411.  
  412. genratePointsInfoArray($allData, $infoArray, $maininfoArray, $gameWeek = array(1), $captain_id, $vice_captain_id);
  413. calculateInitialAvailableBalance($allData, $infoArray, 100)
  414.  
  415.  
  416. ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement