Game Maker - создание игр | HellRoom Games
Январь 16, 2025, 07:34:55 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.

Войти
Новости:
 
   Начало   Game Maker Помощь Правила форума Поиск Календарь Войти Регистрация  
Страниц: [1]   Вниз
  Печать  
Автор Тема: PHP  (Прочитано 3014 раз)
0 Пользователей и 1 Гость смотрят эту тему.
vipxD
Участник
****

Репутация: -1
Offline Offline

Пол: Мужской
API: GameMaker Studio Pro
Деятельность: Разработчик/Дизайнер/Программист/
Сообщений: 120



PHP
« : Июнь 30, 2012, 12:48:57 »

Код:
<html>
<head>
<meta http-equiv='Content-Type' content='text/html; charset=WINDOWS-1251'>
 
<title>Highscore Game Zombie Cat</title>
</head>
<body>
 
<h1 align=center>Топ- 50 убийц</h1>
&nbsp;
<?php
//Чтобы скрипт добавл или обновил информацию об игроке, запусите его вот таким образом:highscore.php?action=set&name=putnamehere&score=scorehere
 
//сначала подключаемся к БД
$host "localhost";
$user "ввёл";
$pass "ввёл";
$scores_db "ввёл";
 
$connect=mysql_connect ($host,$user,$pass) or die ('I cannot connect to the database because: ' mysql_error());
mysql_select_db ($scores_db);
 
//создадим переменные из тех что были приняты, чтобы было проще к ним обращаться
$score=$_GET["score"];
$name=$_GET["name"];
$kill=$_GET["kill"];
 
$action=$_GET["action"];
 
//эта функция добавляет или обновляет игрока в таблице
function modify_table()
{
//сначало находим ряд в котором имя = заданному игроком имени
 
$query "SELECT * FROM test_mysql WHERE name='".$_GET["name"]."'";
 
$res mysql_query($query) or die("Couldn't execute $query: ".mysql_error());
  
 
//если такого ряда нет - значит игрока еще нет в БД, если есть, значит игрок уже был туда внесен
 
if (mysql_num_rows($res)==0)
 {
  
//игрока нет - создаем новый ряд с его именем и очками
  
$query "INSERT INTO test_mysql VALUES('".$_GET["name"]."',".$_GET["score"].",".$_GET["kill"].")";
  
mysql_query($query) or die("Couldn't execute $query: ".mysql_error());
 }
 
//игрок есть - обновляем его результат, если он выше чем тот который записан
 
else
 {
$checker mysql_fetch_assoc($res);
if (
$checker[score]<$_GET[score])
  {
//обновляем результат
  
$query "UPDATE test_mysql SET score=".$_GET["score"]."  SET kill=".$_GET["kill"]." WHERE name='".$_GET["name"]."'";
  
mysql_query($query) or die("Couldn't execute $query: ".mysql_error());}
 }
header("Location: http://game.vipxd.hdd1.ru/index.php?curname=$_GET[name]");
exit;
}
 
function 
show_top()
{
 
//этой функцией мы выбираем первые 50 рядов по возрастанию очков
 
$query "SELECT name, score FROM test_mysql ORDER BY score DESC LIMIT 50";
 
$res mysql_query($query) or die("Couldn't execute query: ".mysql_error());
  
 
//дальнейший код создает html таблицу с результатами
 
echo "
 <table align=center border=1>
  <tr>
   <td align='center'> <b>#</b> </td><td align='center'> <b>Имя</b> </td> <td align='center'> <b>Очки</b> </td> <td align='center'> <b>Убийства</b> </td>
  </tr>
  "
;
{
$rating=0;}
 while (
$user mysql_fetch_assoc($res))
 {
$user[name]=htmlspecialchars($user[name]);
$user[score]=htmlspecialchars($user[score]);
$user[kill]=htmlspecialchars($user[kill]);
$rating++;
  echo 
"<tr>
          <td align='center'>
        "
.$rating."
       </td>"
;
  
//выделяем выбранное имя зеленым фоном (если задана переменная $_GET[curname])
if($_GET[curname]!=$user[name])
         { echo
"<td align='center'>";}
else
         {echo
"<td align='center' bgcolor=#adff2f>";}
 
        echo
"".$user["name"]."
        </td> <td align='center'>
          "
.$user["score"]."
       </td>
<td align='center'>
          "
.$user["kill"]."
       </td>
       </tr>"
;
 }
 echo 
"</table>";
}
 
//свитч следит за тем какую функцию надо выполнить
switch ($action)
{
 case 
"set"modify_table(); break;
 case 
"top"show_top(); break;
 default: 
show_top(); break;
}
 
//закрыть соединение, это очень важно!
mysql_close();
?>

 
 
</body>
</html>


Что получается если игрока нет в базе данных то он создаётся и записываются имя результат убийств
Ошибки
1)Если игрок есть, то должен сработать скрипт проверки результата если он больше то обновится, но не обновляется я думаю проблема в
Код:
 $query = "INSERT INTO test_mysql VALUES('".$_GET["name"]."',".$_GET["score"].",".$_GET["kill"].")";

2)Не выводятся убийства ( в базе данных они есть)

2012-06-30_145059.png
PHP
* 2012-06-30_145059.png (6.16 Кб, 211x143 - просмотрено 902 раз.)
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  

HellRoom Games © 2006-2012 All Rights Reserved
Powered by SMF 1.1.21 | SMF © 2013, Simple Machines
Страница сгенерирована за 0.08 секунд. Запросов: 27.