| psyvek |
|
|---|---|
|
Подскажите пожалуйста, как сделать фильтр для list.tpl? Используются экстра поля (пример: вид лицензии) и нужно выводить отфильтрованный список по аналогии со страницей пользователей (страна, группа...), только это будет лицензия, дата...
Еще вопрос, как сделать сортировку по рейтингу или по комментариям? Добавлено 25 Минут спустя: Нашел как это в седе было http://my.site/list.php?c=cat&s=date&w=desc&o=extra-field&p=значение в котонти не сработало. Люди подскажите, как это делается, очень нужно. Відредаговано: psyvek (17.11.2009 04:15, 15 років тому) |
| Sergey |
|
|---|---|
|
для поля page_extra1
http://my.site/list.php?c=cat&s=date&w=desc&o=extra1&p=значение смотрим текст list.inc.php строка 112 WHERE page_cat='$c' AND (page_state=0 OR page_state=2) AND page_$o='$p'то есть к page_ добавляется значение по ключу o т.е. extra1 что даст в сумме page_extra1 www.cotonti.mobi
|
| psyvek |
|
|---|---|
|
А как можно вывести несколько значений в одной категории?
http://my.site/list.php?c=cat&s=date&w=desc&o=extra1&p=значение1+значение2 |
| Sergey |
|
|---|---|
|
Для этого значения необходимо разделить запятыми: т.е.
http://my.site/list.php?c=cat&s=date&w=desc&o=extra1&p=значение1,значение2 Далее правим оператор вот так приблизительно WHERE page_cat='$c' AND (page_state=0 OR page_state=2) AND FIND_IN_SET(page_$o,'$p')тут такое дело функция FIND_IN_SET разложит $p на массив и сравнит по совпадению с page_$o вроде, что-то так Да это надо в двух местах и на строке 107 -там считают число для паджинации и в 112 для выборке www.cotonti.mobi
|
| psyvek |
|
|---|---|
|
Cпасибо огромное.
Последний вопрос, а как вывести значения из двух экстра полей? http://my.site/list.php?c=cat&s=date&w=desc&o= extra1&p=значение1 что то тут extra2&p=значение1,значение2 |
| Sergey |
|
|---|---|
|
начнем с ввода
$o = sed_import('o','G','ALP',16);
$p = sed_import('p','G','ALP',16);
фильтр ALP не берет запятых, надо вот так $o = sed_import('o','G','ALP',16);
$p = sed_import('p','G','TXT');
далее добавляем чтение еще одной группы $o = sed_import('o','G','ALP',16);
$p = sed_import('p','G','TXT');
$o2 = sed_import('o2','G','ALP',16);
$p2 = sed_import('p2','G','TXT');
теперь корректируем запрос, делаем вставку
$sql = sed_sql_query("SELECT COUNT(*) FROM $db_pages
WHERE page_cat='$c' AND (page_state='0' OR page_state='2') AND FIND_IN_SET(page_$o,'$p')"
.((!empty($o2) && !empty($p2))?" AND FIND_IN_SET(page_$o2,'$p2')":"")
);
и нечто подобное в 112 операторзапрос будет http://my.site/list.php?c=cat&s=date&w=desc&o= extra1&p=значение1,значение2&o2=extra2&p2=значение1,значение2 Я так собственно обозначил общую схему www.cotonti.mobi
|