Не нравятся результаты поиска? Попробуйте другой поиск!
dle-faq.ru FAQ (все вопросы) Общие вопросы по PHP Вывод полей из xflist из определенных категорий?

Вывод полей из xflist из определенных категорий?


     26.01.2015    Общие вопросы по PHP, Модули, Хаки    1227

вопрос
День добрый. Встал вопрос о том, чтобы выводить информацию из xflist только из определенных категорий.
Как это можно сделать?

Ответил: Aleksey-Nyaka



            $word_serch = $db->query("SELECT id, xfields FROM " . USERPREFIX . "_post WHERE category IN (3,4,29,5,14,15,17,6,27,21,30,26)");


Где: 3,4,29,5,14,15,17,6,27,21,30,26 это id нужных категорий.

Комментарии пользователей (4)

ravchik
66

375 | 123

ravchik - 26 января 2015 20:06 - Юзер

скачать модуль (хак) и немножко доработать.

serg91100
3

242 | 37

serg91100 - 26 января 2015 20:15 - Юзер

Я его оставил давно. Но я не программист. Есть идеи как сделать?

ravchik
66

375 | 123

ravchik - 26 января 2015 22:26 - Юзер

найти
$sql_result = $db->query( "SELECT xfields FROM " . PREFIX . "_post WHERE approve=1" );
заменить на
$sql_result = $db->query( "SELECT xfields FROM " . PREFIX . "_post WHERE approve=1 AND category={$catid}" );
а строка подключения будет
{include file="/engine/modules/xflist.php?xfname=fieldname&catid=x"}
где x - id категории. Если надо из нескольких категорий, смотрите ответ Aleksey-Nyaka, т.е.
$sql_result = $db->query( "SELECT xfields FROM " . PREFIX . "_post WHERE approve=1 AND category IN ({$catid})" );
строка подключения будет
{include file="/engine/modules/xflist.php?xfname=fieldname&catid=x,y,z"}


сам не проверял, но должно работать

D0Gmatist
225

794 | 281

D0Gmatist - 26 января 2015 23:51 - Местный

Уж лучше бы просто сделали доп условие )) Чтоб полностью сделать функциональным
1) Проверяем есть ли $catid
if ( $catid != "" ) {
    $cat_select = " AND"; // приставку к условию
    // проверяем одно число категории или несколько
    if ( count( explode( ",", $catid ) ) == 1 ) {
        $cat_select .= " `category` = '$catid'";
    } else {
        $cat_select .= " `category` IN ('$catid')";
    }
}

2)
$sql_result = $db->query( "SELECT xfields FROM " . PREFIX . "_post WHERE approve=1{$cat_select}" );

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

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

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