Создание оналйн таблицы рекордов без использования dll
|
|
NeZnayu | Дата: Суббота, 12 Июня 2010, 15:30 | Сообщение # 1 |
__танцуй!__
Сейчас нет на сайте
| Здравствуйте друзья, сегодня я расскажу вам как создать онлайн таблицу рекордов для вашей игры, не используя длл, только встроенные функции ГМ. Вам потребуется: - Хост с поддержкой php и MySQL (есть бесплатные варианты)
- Самые базовые знания верстки htm страниц, для "тюнинга" вашей таблицы
И так, создаем новую таблицу (для примера test_mysql) с полями name и score в базе данных, используя следующий SQL зарос: Code CREATE TABLE `*имя вашей БД*`.`test_mysql` ( `name` varchar( 32 ) NOT NULL , `score` int( 11 ) NOT NULL ) Отлично, готова таблица в БД, теперь создаем php скрипт, который будет работать с этой таблицей: Code <html> <head> <meta http-equiv='Content-Type' content='text/html; charset=WINDOWS-1251'>
<title>Testing highscore..</title> </head> <body>
<h1 align=center>Тестируем рекорды..</h1> <p align=center><a href='highscore.php'><img src='sp_base.png'></a><br> <br>
<?php //Чтобы скрипт добавл или обновил информацию об игроке, запусите его вот таким образом:highscore.php?action=set&name=putnamehere&score=scorehere
//сначала подключаемся к БД $host = "localhost"; $user = "yemsalat"; $pass = "*****"; $scores_db = "testingphp";
$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"];
$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"].")"; 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"]." WHERE name='".$_GET["name"]."'"; mysql_query($query) or die("Couldn't execute $query: ".mysql_error());} } header("Location: http://yemsalat.org/test/highscore.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> </tr> "; {$rating=0;} while ($user = mysql_fetch_assoc($res)) { $user[name]=htmlspecialchars($user[name]); $user[score]=htmlspecialchars($user[score]); $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> </tr>"; } echo "</table>"; }
//свитч следит за тем какую функцию надо выполнить switch ($action) { case "set": modify_table(); break; case "top": show_top(); break; default: show_top(); break; }
//закрыть соединение, это очень важно! mysql_close(); ?>
</body> </html> Дальше, уже в ГМ, нам осталось только обратиться к странице на которой расположен php скрипт при помощи функции execute_shell() Все комментарии по ней - в примере. СКАЧАТЬ ПРИМЕР Получается вот такая таблица
CombatForce - 2d TDS долгожданный релиз Noobster - самый простой конструктор игр в мире LaLaLaLAMA! - игра не про Ламу
Сообщение отредактировал NeZnayu - Суббота, 12 Июня 2010, 17:15 |
|
| |
FedenkoVadik | Дата: Суббота, 12 Июня 2010, 15:42 | Сообщение # 2 |
Level 5 Gentleman
Сейчас нет на сайте
| Можно этот скрипт подключить как юкозу, а точнее как?
|
|
| |
NeZnayu | Дата: Суббота, 12 Июня 2010, 15:44 | Сообщение # 3 |
__танцуй!__
Сейчас нет на сайте
| Quote (FedenkoVadik) Можно этот скрипт подключить как юкозу, а точнее как? Я не знаю поддерживает ли юкоз доступ к php, если да - то можно.
CombatForce - 2d TDS долгожданный релиз Noobster - самый простой конструктор игр в мире LaLaLaLAMA! - игра не про Ламу
|
|
| |
FedenkoVadik | Дата: Суббота, 12 Июня 2010, 17:08 | Сообщение # 4 |
Level 5 Gentleman
Сейчас нет на сайте
| Quote (NeZnayu) доступ к php юкоз не поддерживает пхп Quote (NeZnayu) php и MySQL (есть бесплатные варианты) какие например?
|
|
| |
NeZnayu | Дата: Суббота, 12 Июня 2010, 17:10 | Сообщение # 5 |
__танцуй!__
Сейчас нет на сайте
| Quote (FedenkoVadik) какие например? что-то вроде этого
CombatForce - 2d TDS долгожданный релиз Noobster - самый простой конструктор игр в мире LaLaLaLAMA! - игра не про Ламу
Сообщение отредактировал NeZnayu - Суббота, 12 Июня 2010, 17:11 |
|
| |
FedenkoVadik | Дата: Суббота, 12 Июня 2010, 17:27 | Сообщение # 6 |
Level 5 Gentleman
Сейчас нет на сайте
| тУт круче, а хостинг взял здесь - качественный оч.
|
|
| |
stalkerya | Дата: Суббота, 12 Июня 2010, 17:33 | Сообщение # 7 |
Пользователь Blender 2.5
Сейчас нет на сайте
| NeZnayu, Спасибо) Пригодится! + в репу
Бросила девушка после того, как узнала, что я перешел с гм на Construct.
|
|
| |
FedenkoVadik | Дата: Суббота, 12 Июня 2010, 19:03 | Сообщение # 8 |
Level 5 Gentleman
Сейчас нет на сайте
| ну юкоз ладно, а narod.ru, там же есть пхп...
|
|
| |
NeZnayu | Дата: Суббота, 12 Июня 2010, 20:40 | Сообщение # 9 |
__танцуй!__
Сейчас нет на сайте
| Quote (FedenkoVadik) narod.ru, там же есть пхп... ну, раз есть - значит можно )
CombatForce - 2d TDS долгожданный релиз Noobster - самый простой конструктор игр в мире LaLaLaLAMA! - игра не про Ламу
|
|
| |
FedenkoVadik | Дата: Суббота, 12 Июня 2010, 22:24 | Сообщение # 10 |
Level 5 Gentleman
Сейчас нет на сайте
| ну это больше был скорее вопрос, нежели констатация факта... а пхп там я не нашел(( Я вообще ни нашол ничего подходящего, NeZnayu, а у тебя платныйй хостинг? На бесплатном перепробывал штук 7 разных сайтов, понасаздавал всякого, ничего...
|
|
| |
NeZnayu | Дата: Суббота, 12 Июня 2010, 22:31 | Сообщение # 11 |
__танцуй!__
Сейчас нет на сайте
| FedenkoVadik, у меня платный. Здесь где-то была тема "Каким хостингом пользуемся" - там в комментах были ссылки на бесплатные с поддержкой php и MySQL.
CombatForce - 2d TDS долгожданный релиз Noobster - самый простой конструктор игр в мире LaLaLaLAMA! - игра не про Ламу
|
|
| |
FedenkoVadik | Дата: Суббота, 12 Июня 2010, 23:23 | Сообщение # 12 |
Level 5 Gentleman
Сейчас нет на сайте
| ога, и видет она в гугль... ладно еще поищу, потом отпишусь...
|
|
| |
MIKEL922 | Дата: Воскресенье, 03 Апреля 2011, 20:43 | Сообщение # 13 |
заслуженный участник
Сейчас нет на сайте
| Ребята помогите, пишет ошибку: Ошибка SQL-запрос: CREATE TABLE `*Здесь имя моей бед. публиковать не буду*`.`test_mysql` ( `name` VARCHAR( 32 ) NOT NULL , `score` INT( 11 ) NOT NULL ) Ответ MySQL: #1044 - Access denied for user: 'servn8@%' to database '*Здесь имя моей бед. публиковать не буду*'
Нет не чего не возможного. uncog.ru
|
|
| |
Ice-max | Дата: Воскресенье, 03 Апреля 2011, 22:21 | Сообщение # 14 |
частый гость
Сейчас нет на сайте
| Я поповоду подключения этого всего к юкозу, точнее PHP, mysql, хост нам тож понадобится, но я кажется знаю как "отобразить рекорд на вашем Ucoz'овскем сайте", если у вас .PHP скрипт работает (страница рекорды показывает), пишите может помогу поставить пристроить страницу с рекордами на ваш сайт. З.Ы.вот один хост есть американский хороший бесплатный хостинг. тОлько нужно знание англ.
Продам недвижисоть 1991г.в. цвет:Мокрый асвальт, Акпп,ABS,полный электропакет, цена договорная возможен обмен на движимость.
|
|
| |
|
MIKEL922 | Дата: Воскресенье, 03 Апреля 2011, 23:50 | Сообщение # 16 |
заслуженный участник
Сейчас нет на сайте
| Я просто публиковать не хочу, это приватная инфа, так мне помогут?
Нет не чего не возможного. uncog.ru
|
|
| |
NeZnayu | Дата: Четверг, 07 Апреля 2011, 01:14 | Сообщение # 17 |
__танцуй!__
Сейчас нет на сайте
| У пользователя нет прав доступа к бд, ркомендую обратиться в тех поддержку хостинга.
CombatForce - 2d TDS долгожданный релиз Noobster - самый простой конструктор игр в мире LaLaLaLAMA! - игра не про Ламу
|
|
| |
Йакуд | Дата: Четверг, 23 Июня 2011, 19:42 | Сообщение # 18 |
участник
Сейчас нет на сайте
| MIKEL922, либо у пользователя нет прав доступа на создание таблиц, либо просто убери название БД. Code CREATE TABLE `test_mysql` (
`name` VARCHAR( 32 ) NOT NULL , `score` INT( 11 ) NOT NULL )
Для того, чтобы сделать запросы быстрее тебе нужно в таблице добавить индексы. Делается это примерно так: Добавлено (23.06.2011, 19:42) --------------------------------------------- Упс, что-то не глянул на дату последнего поста. Прошу прощения..
"Хороший художник – копирует, гениальный – ворует!" — Pablo Picasso .blanco 2.0
|
|
| |
m1raz | Дата: Суббота, 25 Июня 2011, 02:09 | Сообщение # 19 |
почетный гость
Сейчас нет на сайте
| вобщето юкоз поддерживает ПХП просто надо раскашелится на 3$ (не милион-же).И такое уже чуть более года на укозе )))
Всех задир буду вычеслять по IP!
|
|
| |