Войти или зарегистрироваться
  • Вы находитесь в сообществе Rubukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на различные языки плагины наших коллег из других стран.
  • Данный раздел создан исключительно для релизов! Вопросы по лаунчеру или обвязке задавайте ТОЛЬКО в соответсвующей теме автора. Любые другие темы будут удалены, а авторы понесут наказание.

Веб Вывод баланса в профиле каждого игрока[DLE]

ARGENT

Старожил
Пользователь
Баллы
103
Имя в Minecraft
ARGENT
Сегодня утром решил написать скрипт который выводит баланс игрока в профиль dle.
Демо
Начнем:
Для этого табилца iConomy должна быть в базе данных с dle.
Переходим в /engine/modules/profile.php
Ищем:
Код:
$tpl->set( '{lastdate}', langdate( "j F Y H:i", $row['lastdate'] ) );
Примерно 448 строка.
После вставляем:
Код:
$q = mysql_connect('хост', 'юзер', 'пароль')or die('no: ' . mysql_error());
mysql_select_db("база данных",$q);
$result_money = mysql_query("SELECT * FROM iConomy WHERE username='{$user}'",$q);
 $myrow_money = mysql_fetch_array($result_money);
 $q_money = $myrow_money[balance];
$tpl->set( '{balanceuser}', $q_money );
Далее в userinfo.tpl в нужном месте прописываем {balanceuser}
P.S. Скажите что еще простенькое написать.
 
ARGENT, а как сделать что бы подключение было не к стандартному расположению таблиц dle, а например в shop?
 
По идее можно еще проще
PHP:
    $username = $member_id['name'];
    $game_money= $db->super_query("SELECT * FROM iconomy WHERE username = '$username'");
    ###
    $tpl->set( '{game}', $game_money['balance'] );

ARGENT, а как сделать что бы подключение было не к стандартному расположению таблиц dle, а например в shop?
На сколько я знаю, через стандартный API от DLE никак. Может ошибаюсь. А вообще вот так:
Код:
    $q = mysql_connect(хост, пользователь, пароль)or die('Не удалось соединиться: ' . mysql_error());
    $q_real = mysql_query("SELECT * FROM ИМЯ_БАЗЫ.ИМЯ_КОЛОНКИ WHERE name='$member_id['name']'");
    $real = mysql_result($q_real,0,'поле_с_балансом');
    $tpl->set('{имя переменной}', $real);
 
По идее можно еще проще
PHP:
    $username = $member_id['name'];
    $game_money= $db->super_query("SELECT * FROM iconomy WHERE username = '$username'");
    ###
    $tpl->set( '{game}', $game_money['balance'] );


На сколько я знаю, через стандартный API от DLE никак. Может ошибаюсь. А вообще вот так:
Код:
    $q = mysql_connect(хост, пользователь, пароль)or die('Не удалось соединиться: ' . mysql_error());
    $q_real = mysql_query("SELECT * FROM ИМЯ_БАЗЫ.ИМЯ_КОЛОНКИ WHERE name='$member_id['name']'");
    $real = mysql_result($q_real,0,'поле_с_балансом');
    $tpl->set('{имя переменной}', $real);
Попробую =)
[/PHP]

Код:
    $q = mysql_connect(хост, пользователь, пароль)or die

Прям через запятую писать? Если да то, Parse error: syntax error, unexpected T_STRING
 
Не катит, все ровно Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING
Код:
$q = mysql_connect('localhost', 'minecraft', '123')or die('Не удалось соединиться: ' . mysql_error());
mysql_select_db("Твоя бд",$q);
$q_real = mysql_query("SELECT * FROM '(твоя колонка)' WHERE name='$member_id['name']'");
$real = mysql_result($q_real,0,'balance');
$tpl->set('{userbalance}', $real);
 
А, ну да. Я косячник. Писал код не тестируя)
 
Код:
$q = mysql_connect('localhost', 'minecraft', '123')or die('Не удалось соединиться: ' . mysql_error());
mysql_select_db("Твоя бд",$q);
$q_real = mysql_query("SELECT * FROM '(твоя колонка)' WHERE name='$member_id['name']'");
$real = mysql_result($q_real,0,'balance');
$tpl->set('{userbalance}', $real);
Та же ошибка, на той же строчке.
 
$q_real = mysql_query("SELECT * FROM '(твоя колонка)' WHERE username='{$user}'");

$q = mysql_connect('localhost', 'myst1k', '***')or die('no: ' . mysql_error());
mysql_select_db("myst1k_shop",$q);
$q_real = mysql_query("SELECT * FROM 'ms_money' WHERE username=$member_id['username']");
$real = mysql_result($q_real,0,'balance');
$tpl->set('{userbalance}', $real);

Колонка с юзерами
Колонка с деньгами
 
Код:
$q = mysql_connect('localhost', 'myst1k', '***')or die('no: ' . mysql_error());
mysql_select_db("myst1k_shop",$q);
$q_real = mysql_query("SELECT * FROM 'ms_money' WHERE username='{$user}'");
$real = mysql_result($q_real,0,'balance');
$tpl->set('{userbalance}', $real);
Кроме пароля к mysql больше ничего не меняй!
 
$q_real = mysql_query("SELECT * FROM '(твоя колонка)' WHERE username='{$user}'");

Код:
$q = mysql_connect('localhost', 'myst1k', '***')or die('no: ' . mysql_error());
mysql_select_db("myst1k_shop",$q);
$q_real = mysql_query("SELECT * FROM 'ms_money' WHERE username='{$user}'");
$real = mysql_result($q_real,0,'balance');
$tpl->set('{userbalance}', $real);
Кроме пароля к mysql больше ничего не меняй!
Уже заработало, как только увидел что вы обновили WHERE username=$member_id['username']"); на WHERE username='{$user}'"); , теперь подключается но баланс не видно =)
 

Поделиться этой страницей

Назад
Верх