Вопрос по NetCat 3.0 - обращение к БД - вывод случайного товара

artsiti
На сайте с 08.11.2006
Offline
79
1142

я вот парюсь с функцией рандом показа товара которая работает на 2.4 (http://www.bksufa.ru/ ) и не пашет на 3.0 http://delta.topmaster.info/

--------------------------------------------------

".listQuery("SELECT a.File_Path as fPath, a.Virt_Name as fName, a.Message_ID as fMid, b.Name as Name

FROM Filetable as a, Message25 as b

WHERE a.Field_ID = 116 AND b.Message_ID = a.Message_ID ORDER BY RAND() LIMIT 0,1",

"<a href=\".nc_message_link(\$data[fMid],10).\">\$data[Name]</a><br><a href=\".nc_message_link(\$data[fMid],10).\"><IMG src=/netcat_files\$data[fPath]\$data[fName] border=0 vspace=5></a><BR><br>")."

--------------------------------------------------

думаю мой пример не самый лучший ;)

Может у кого "завалялся" правильный пример кода запроса для 3.0)?

Заранее огромное спасибо

DI
На сайте с 03.01.2007
Offline
123
#1

ага, я сразу тогда говорил, что не самый лучший:)

от версии ничего не зависит. Если правильно поменять следующие данные на корректные для нового сайта, то все будет работать:


b.Name
Message25
WHERE a.Field_ID = 116
nc_message_link(\$data[fMid],10) (в двух местах)

Правильный пример состоит в том, что нужно html-код писать в компоненте, типа такого:


".opt($isTitle,"
<a href=$fullLink>$f_Name</a><br><a href=$fullLink><IMG src=$f_[имя_поля] border=0 vspace=5></a><BR><br>
")."

соответственно, весь остальной код надо взять в условие ".opt(!$isTitle,"").", чтобы он не выводился.

В системных настройках надо указать рандом:


if ($isTitle) $query_order = "RAND()";

И вызывать всю эту конструкцию стандартной функцией:


".s_list_class(xxx,yyy,"&isTitle=1&recNum=1")."
Высказывание идиотского утверждения требует на порядок меньше усилий, чем его последовательное и обоснованное опровержение и более того, иногда это опровержение вообще невозможно. © (http://zhurnal.lib.ru/s/shapiro_m_a/raspidiota.shtml)
artsiti
На сайте с 08.11.2006
Offline
79
#2
DenIT:
ага, я сразу тогда говорил, что не самый лучший:)
от версии ничего не зависит. Если правильно поменять следующие данные на корректные для нового сайта, то все будет работать:


Правильный пример состоит в том, что нужно html-код писать в компоненте, типа такого:

".opt($isTitle,"
<a href=$fullLink>$f_Name</a><br><a href=$fullLink><IMG src=$f_[имя_поля] border=0 vspace=5></a><BR><br>
")."

соответственно, весь остальной код надо взять в условие ".opt(!$isTitle,"").", чтобы он не выводился.

В системных настройках надо указать рандом:

if ($isTitle) $query_order = "RAND()";


И вызывать всю эту конструкцию стандартной функцией:

".s_list_class(xxx,yyy,"&isTitle=1&recNum=1")."

Ух ты универсал, респект!!!

Ладно попробую сделать в ближ время, спасибо!

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий