Не нравятся результаты поиска? Попробуйте другой поиск!
DLE FAQ » Все вопросы » Общие вопросы » Как правильно сделать запрос?

Как правильно сделать запрос?


     14.05.2020    модули    Общие вопросы, Общие вопросы по PHP, Модули    705

вопрос

$id = $_REQUEST['id'];
if( $id )
  {
    
    $result = $db->query( "SELECT * FROM ".PREFIX."_shop_post WHERE `id`='{$id}' LIMIT 1" );
    $Allow = ( $db->num_rows( $result ) > 0 ) ? true : false;
    
    if( $Allow === true )
      {
        $row = $db->get_row( $result );
        $approve = intval( $row['approve'] );
        
        if( $approve != 1 )
          {
            $Allow = false;
            $errorAllow = "Товара нет";
          }
      }
    if( $Allow === true )
      {
        $id = $row['id'];
        $ids = $row['id'];
        $title = htmlspecialchars( stripslashes( $row['title'] ), ENT_QUOTES, $config['charset'] );
         
        //--------------------------------------------------=-=-=-=-=
        //	Тут делаем запрос на вывод привязанных вип товаров
        //--------------------------------------------------=-=-=-=-=				
        $Listing = array(						
          "template"		=> "shop/shop_vip_short.tpl",
          "tpl_compiles"	=> "shop_vip_content",
          "sql_count"		=> "SELECT COUNT(*) as count FROM ".PREFIX."_shop_vip_post WHERE shop_vip_topvar='{$ids}'",
          "sql_query"		=> "SELECT * FROM ".PREFIX."_shop_vip_post WHERE shop_vip_topvar='{$ids}'",
          "no_news_error" => "Не обнаружено.",							
        );
        require( DLEPlugins::Check(ENGINE_DIR."/modules/shop/vip.post.php") );
        $List = $tpl->result['shop_vip_content'];
                
        //--------------------------------------------------=-=-=-=-=
        //	Выводим сам товар
        //--------------------------------------------------=-=-=-=-=
        
        $tpl->Load_Template( "shop/shop_full.tpl" );
                        
        $tpl->set( "{id}", $id );			
        $tpl->set( "{title}", $title );
        $tpl->set( "{list}", $List );
        $tpl->copy_template = $Shop->ParsePhotos( $tpl->copy_template, $row['photos'] );	

        if( $Shop->Field !== false ) $tpl->copy_template = $Shop->Field->ParseTags( $tpl->copy_template, $row['xfields'] );
                        
        $tpl->compile( "shop_content" );
        $tpl->clear();				
      }
        else
      {
        $tpl->Load_Template( "info.tpl" );
        $tpl->set( "{title}", "Ошибка" );
        $tpl->set( "{error}", $errorAllow );
        $tpl->compile( "shop_content" );
        $tpl->clear();
      }

  }


Движок DLE имеется 2 таблицы, dle_shop_post и dle_shop_vip_post

В таблице dle_shop_vip_post есть таблица shop_vip_topvar куда записывается id привязанного dle_shop_post товара

Я делаю запрос на вывод - $Listing, получаю результат, но в /modules/shop/vip.post.php аналогичный код только разные переменные тут - $Shop а там $Shop_Vip, тем самым движок путается и выводит картинки и дополнительные поля с привязанного товара.

Как сделать правильно?

Ответа пока нет


1 комментарий

dj-avtosh
PHP-developer

dj-avtosh - 17 мая 2020 08:55 -

Не советую использовать этот дырявый код.

По заказам пишем сюда: @Rud00y

ЯД: 41001679231462
Заказы в telegram (ремонт модулей, оптимизация нагрузок и т.п.):
В телегу писать сразу задачу и бюджет.

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

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

 06.03.2014 vip.boss  Общие вопросы
наверх