Не нравятся результаты поиска? Попробуйте другой поиск!
DLE FAQ » Все вопросы » Модули » добавление тега в profile.php не из таблиц dle

добавление тега в profile.php не из таблиц dle


     07.07.2014    profile.php, dle, тег, теги    Модули, Хаки, MySQL    2956

вопрос
как в profile.php подключить другую бд без префикса "dle_"
Дело в том что мне в userinfo.tpl нужно вывести информацию с бд.
Пример:
Есть таблица с названием "money"
У неё есть 2 столбца: "username" и "money"
Надо вытащить "money" в userinfo.tpl, но только ту строку, у которой "username" подходит с dle_users_name

Если не понятно, то другой пример:


Простите, за плохое оформление, но я уже 5 часов сижу и не отрываюсь от этого :(

Ответил: D0Gmatist


$sql_result = $db->query( "SELECT * FROM " . USERPREFIX . "_users WHERE name = '$user'" );

$tpl->load_template( 'userinfo.tpl' );

while ( $row = $db->get_row( $sql_result ) ) {
Ниже дописать
    /* имя юзера $row['name'] */
    $rowU = $db->super_query( "SELECT * FROM `money` WHERE `username` = '{$row['name']}'" );

    $tpl->set( '{money}', stripslashes( $rowU['money'] ) );
Или объединить два запроса в 1
$sql_result = $db->query( "SELECT 
                                p.email,
                                p.password,
                                p.name,
                                p.user_id,
                                p.news_num,
                                p.comm_num,
                                p.user_group,
                                p.lastdate,
                                p.reg_date,
                                p.banned,
                                p.allow_mail,
                                p.info,
                                p.signature,
                                p.foto,
                                p.fullname,
                                p.land,
                                p.icq,
                                p.favorites,
                                p.pm_all,
                                p.pm_unread,
                                p.time_limit,
                                p.xfields,
                                p.allowed_ip,
                                p.hash,
                                p.logged_ip,
                                p.restricted,
                                p.restricted_days,
                                p.restricted_date,
                                e.money
                                    FROM " . PREFIX . "_users p LEFT JOIN `money` e
                                        ON ( p.name = e.username )
                                            WHERE `name` = '{$user}'
                                                LIMIT 1" );

9 комментариев

vitnet
PHP-developer

vitnet - 7 июля 2014 21:00 -

Может так попробовать?
$row = $db->super_query( "SELECT * FROM " . USERPREFIX . "_users WHERE user_id = '{$id}'" );

....
....
....

$sql = $db->super_query( "SELECT * FROM таблица WHERE колонка = '{$значение}'" );

$tpl->set( '{money}', stripslashes( $sql['значение'] ) );

pogod
Юзер

pogod - 7 июля 2014 21:04 -

vitnet, попробую позже, я сейчас с телефона, но Всё равно спасибо))

pogod
Юзер

pogod - 7 июля 2014 21:06 -

vitnet, а какое значение выбирать?

vitnet
PHP-developer

vitnet - 7 июля 2014 21:07 -

Показывайте структуру таблицы

pogod
Юзер

pogod - 7 июля 2014 21:13 -

vitnet,
Там нету колонки id и ей подобной

Sander
PHP-developer

Sander - 8 июля 2014 00:56 -

D0Gmatist, почему не left join ?

SanDev.pro - мой блог.

Telegram: @sandev
Skype: Sander8804

D0Gmatist
Юзер

D0Gmatist - 8 июля 2014 01:08 -

Sander, Человек не просил объединить два запроса )))

D0Gmatist
Юзер

D0Gmatist - 8 июля 2014 01:26 -

Ну а если так надо то вот )))

$sql_result = $db->query( "SELECT 
                                p.email,
                                p.password,
                                p.name,
                                p.user_id,
                                p.news_num,
                                p.comm_num,
                                p.user_group,
                                p.lastdate,
                                p.reg_date,
                                p.banned,
                                p.allow_mail,
                                p.info,
                                p.signature,
                                p.foto,
                                p.fullname,
                                p.land,
                                p.icq,
                                p.favorites,
                                p.pm_all,
                                p.pm_unread,
                                p.time_limit,
                                p.xfields,
                                p.allowed_ip,
                                p.hash,
                                p.logged_ip,
                                p.restricted,
                                p.restricted_days,
                                p.restricted_date,
                                e.money
                                    FROM " . PREFIX . "_users p LEFT JOIN `money` e
                                        ON ( p.name = e.username )
                                            WHERE `name` = '{$user}'
                                                LIMIT 1" );

Otto61
Юзер

Otto61 - 7 октября 2016 19:21 -

dell

Чтобы комментировать - войдите или зарегистрируйтесь на сайте

Похожие вопросы

наверх