NewOnlineGame.php 2.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394
  1. <?php
  2. error_reporting( E_ALL );
  3. $hostname = 'localhost';
  4. $username = 'narKampen';
  5. $pass = 'IfRLzj2HJBXA9eei';
  6. $database = 'narKampen';
  7. $conn = new mysqli($hostname, $username, $pass, $database);
  8. if (!$conn) {
  9. die("Connection Failed. ". mysqli_connect_error());
  10. }
  11. mysqli_set_charset($conn,'utf8');
  12. $winNumber = $_POST['winNumber'];
  13. $limitPerQuestion = $_POST['limitPerQuestion'];
  14. $limitPerPlayer = $_POST['limitPerPlayer'];
  15. $playerIds = $_POST['playerIds'];
  16. $currentUser = $_POST['currentUser'];
  17. $categoryIds = $_POST['categoryIds'];
  18. $playerIdsArray = explode(",",$playerIds);
  19. $playerCount = count($playerIdsArray);
  20. if ($playerCount == 1) {
  21. $status = "STARTED";
  22. } else {
  23. $status = Constants.GAME_STATUS_PENDING;
  24. }
  25. $sql = "INSERT INTO game(" .
  26. "gameMode, " .
  27. "status, " .
  28. "winNumber, " .
  29. "answerTimer, " .
  30. "roundTimeLimit, " .
  31. "numberOfPlayers, " .
  32. "currentPlayer, " .
  33. "round, " .
  34. "startedDate) " .
  35. "VALUES (" .
  36. "'Online', " .
  37. "'$status', " .
  38. "$winNumber, " .
  39. "$limitPerQuestion, " .
  40. "$limitPerPlayer, " .
  41. "$playerCount, " .
  42. "(SELECT id FROM users WHERE id IN ($playerIds) ORDER BY RAND() LIMIT 1), " .
  43. "1, " .
  44. "NOW())";
  45. $result = mysqli_query($conn, $sql);
  46. $error = mysqli_error($conn);
  47. if ($error !== "") {
  48. echo $error;
  49. }
  50. $gameId = mysqli_insert_id($conn);
  51. $playerPartInsertSql = "";
  52. foreach ($playerIdsArray AS $playerId) {
  53. if ($currentUser == $playerId) {
  54. $playerPartInsertSql .= "($gameId, $playerId, 1, 1, 1, 'ACCEPTED'),";
  55. } else {
  56. $playerPartInsertSql .= "($gameId, $playerId, 1, 1, 1, 'WAITING'),";
  57. }
  58. }
  59. $playerPartInsertSql = rtrim($playerPartInsertSql,",");
  60. $playerSql = "INSERT INTO gamePlayers (gameId, playerId, userLockedQuestions, questionsLost, playerRound, status) VALUES $playerPartInsertSql";
  61. $result = mysqli_query($conn,$playerSql);
  62. $error = mysqli_error($conn);
  63. if ($error !== "") {
  64. echo $error . " from sql " . $playerSql;
  65. }
  66. $categoryValues = "";
  67. if (empty($categoryIds)) {
  68. $categoryValues = "(SELECT $gameId, id FROM category)";
  69. } else {
  70. $categoryIdsArray = explode(",", $categoryIds);
  71. foreach ($categoryIdsArray AS $catId) {
  72. $categoryValues .= "($gameId, $catId),";
  73. }
  74. }
  75. $categoryValues = rtrim($categoryValues, ",");
  76. $categorySql = "INSERT INTO gameCategories(gameId, categoryId) VALUES $categoryValues";
  77. $result = mysqli_query($conn, $categorySql);
  78. $error = mysqli_error($conn);
  79. if ($error !== "") {
  80. echo $error . " from sql " . $categorySql;
  81. }
  82. echo $gameId;
  83. ?>