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

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


     07.07.2014    Модули, Хаки, MySQL    1386

вопрос
как в 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
218

2174 | 930

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
6

pogod - 7 июля 2014 21:04 - Юзер

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

pogod
6

pogod - 7 июля 2014 21:06 - Юзер

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

vitnet
218

2174 | 930

vitnet - 7 июля 2014 21:07 - Эксперт

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

pogod
6

pogod - 7 июля 2014 21:13 - Юзер

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

Sander
1126

1638 | 1204

Sander - 8 июля 2014 00:56 - Эксперт

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

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

ICQ: 404-037-556
Skype: Sander8804

D0Gmatist
225

794 | 281

D0Gmatist - 8 июля 2014 01:08 - Местный

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

Каждый программист знает - в правильном софте все должно быть прекрасно:
и пользовательский интерфейс, и программные решения, и гениальные ошибки!
Болтовня ничего не стоит. Покажите мне код.

D0Gmatist
225

794 | 281

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
23

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

dell

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

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