помогите адаптировать

  • Автор темы Автор темы Timon
  • Дата начала Дата начала

Timon

Пляшущий с бубном
Участник
Сообщения
101
Розыгрыши
0
Репутация
0
Реакции
13
Баллы
280
Хроники
  1. Interlude
Исходники
Отсутствуют
Сборка
lucera2 classic
Добрый день! помогите под Lucera2 Classic адаптировать скрипт, обвязка SW13

у меня в таблице clan_data нету вывода имени клана она у меня в clan_subpledges, что бы скрипт работал я вывел вместо имени клана клан ид.
получилось так:
изображение_2022-08-03_161641619.png
 
<?php
/**
* STRESS WEB
* @author S.T.R.E.S.S.
* @copyright 2008 - 2012 STRESS WEB
* @version 13
* @Web
* @fix L2Banners.ru
*/
if ( !defined("STRESSWEB") )
die( "Access denied..." );

/******************************
* НАСТРОЙКА МОДУЛЯ
******************************/
$T_ENABLE = true; // вкл/выкл модуль
$T_COUNT = 5; // количество результатов
$T_SID = 1; // ID сервера с которого выводить результаты
$T_CACHE = 0; // время кеширования в минутах, 0 - отключить
/******************************
* ВЫВОД РЕЗУЛЬТАТОВ
******************************/
if ( !$T_ENABLE )
$tpl->SetResult( 'clantop' );
else {
$clantop = $controller->GetCache( 'mod_clantop' );
if ( $clantop )
$tpl->SetResult( 'clantop', $clantop );
else {

$db->gdb( $T_SID );

$T_SEL = $gdb[$T_SID]->query( "SELECT `clan_id`, `clan_level`,`reputation_score` FROM `clan_data` ORDER BY `clan_level` DESC, `reputation_score` DESC LIMIT {$T_COUNT}" );
if ( $gdb[$T_SID]->num_rows($T_SEL) > 0 ) {
$T_N = 1;
while ( $T_RESULT = $gdb[$T_SID]->fetch($T_SEL) ) {
$tpl->LoadView( 'clantop' );
$tpl->Block( 'main', false );
$tpl->Block( 'item' );
$tpl->Set( 'n', $T_N );
$tpl->Set( 'clan_id', $T_RESULT['clan_id'] );
$tpl->Set( 'clan_level', $T_RESULT['clan_level'] );
$tpl->Set( 'reputation_score', $T_RESULT['reputation_score'] );
$tpl->Build( 'clantop_item' );
$T_N++;
}
$tpl->LoadView( 'clantop' );
$tpl->Block( 'item', false );
$tpl->Block( 'main' );
$tpl->Set( 'item', $tpl->GetResult('clantop_item', true) );
$tpl->Build( 'clantop' );
} else
$tpl->SetResult( 'clantop' );
if ( $T_CACHE > 0 ) {
$controller->SetCache( 'mod_clantop', $tpl->GetResult('clantop'), $T_CACHE );
}
}
}
?>
 
Код:
$T_SEL = $gdb[$T_SID]->query( "SELECT `clan_id`, `clan_level`,`reputation_score` FROM `clan_data` ORDER BY `clan_level` DESC, `reputation_score` DESC LIMIT {$T_COUNT}" );
Вот тут в запросе нужно сделать джоин на таблицу clan_subpledges по айди клана и из нее вьівести имя.
 
можешь подробнее объяснить пожалуйста?
 
У тебя там sql запрос.
Данньіе берутся из таблицьі clan_data
В ней нет имени клана.
Имя в табличке clan_subpledges
Связаньі они скорее всего по клан айди.
во тебе нужно сделать джоин таблицьі по айди.
Примерно так: LEFT JOIN `clan_subpledges` on clan_subpledges.clan_id = clan_data.clan_id
Примерно так.
На вскидку не помню, но возожно еще нужно будет указать таблицьі в ордере
Код:
$T_SEL = $gdb[$T_SID]->query( "SELECT clan_data.clan_id as `clan_id`, clan_data.clan_level as `clan_level`,clan_data.reputation_score as  `reputation_score`, clan_subpledges.clan_name FROM `clan_data` LEFT JOIN `clan_subpledges` on clan_subpledges.clan_id = clan_data.clan_id ORDER BY `clan_level` DESC, `reputation_score` DESC LIMIT {$T_COUNT}" );
 
Назад
Сверху Снизу