[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Как реализовать вывод?
DeeKeiD
Хочу сделать кликабельные ссылки для сортировки вывода новостей по параметрам.

Необходимо:
1. Динамическая ссылка (в зависимости от текущих параметров сортировки исходя из $_GET'ов)
2. Компактный алгоритм для каждой ссылки с тремя состояниями.

* 3й if нужен для вывода изображения стрелочки (порядок сортировки)

Пока что в голову лезет только один способ, через if,else. (для каждого из параметров, (категория, просмотры и т.д.))


$sParam = (int)isset($_GET['p'])$_GET['p']:'1';
$sOrder = (int)isset($_GET['o'])$_GET['o']:'1';
if($sParam == '1' && $sOrder == '1')
{
$link_1 = 'index.php?m=news&p=1&o=1';
$link_1_img = 'arrow-up.png';
}
elseif($sParam == '1' && $sOrder == '2')
{
$link_1 = 'index.php?m=news&p=1&o=2';
$link_1_img = 'arrow-down.png';
}
else
{
$link_1 = 'index.php?m=news&p=1&o=1';
$link_1_img = '';
}



Как лучше сделать?

_____________
Бесполезно просить пощады у цезаря
Фатальная ошибка : Звонок в неопределенную функцию ©
bestxp
Не парься делай массив параметров потом http_build_query и у тебя будет готовый набор для get его склеиваешь уже с URI и не паришься
DeeKeiD
Можно пример?

_____________
Бесполезно просить пощады у цезаря
Фатальная ошибка : Звонок в неопределенную функцию ©
DeeKeiD
В итоге реализовал так:
Свернутый текст

	
<?php
$sortBy = isset($_GET['s'])?$_GET['s']:null;
$sortOrder = isset($_GET['t'])?$_GET['t']:null;

if($sortBy == 'views')
{
if($sortOrder == 'asc') { $sLink = '<img src="img/icons/bended-arrow-down.png"> <a href="index.php?module=users&s=views&t=desc"><b>Просмотры</b></a& gt;'; }
elseif($sortOrder == 'desc') { $sLink = '<img src="img/icons/bended-arrow-up.png"> <a href="index.php?module=users&s=views&t=asc"><b>Просмотры</b></a&g t;'; }
}

else { $sLink = '<a href="index.php?module=users&s=views&t=desc">Просмотры</a>'; }
if($sortBy == 'comments')
{
if($sortOrder == 'asc') { $nLink = '<img src="img/icons/bended-arrow-down.png"> <a href="index.php?module=users&s=comments&t=desc"><b>Коментарии</b>< ;/a>'; }
else { $nLink = '<img src="img/icons/bended-arrow-up.png"> <a href="index.php?module=users&s=comments&t=asc"><b>Коментарии</b>< /a>'; }
}

else { $nLink = '<a href="index.php?module=users&s=comments&t=asc">Коментарии</a>'; }
if($sortBy == 'cat')
{
if($sortOrder == 'asc') { $aLink = '<img src="img/icons/bended-arrow-down.png"> <a href="index.php?module=users&s=cat&t=desc"><b>Категория</b></a> ;'; }
else { $aLink = '<img src="img/icons/bended-arrow-up.png"> <a href="index.php?module=users&s=cat&t=asc"><b>Категория</b></a> '; }
}

else { $aLink = '<a href="index.php?module=users&s=cat&t=asc">Категория</a>'; }
if($sortBy == 'date')
{
if($sortOrder == 'asc') { $cLink = '<img src="img/icons/bended-arrow-down.png"> <a href="index.php?module=users&s=date&t=desc"><b>Дата</b></a>'; }
else { $cLink = '<img src="img/icons/bended-arrow-up.png"> <a href="index.php?module=users&s=date&t=asc"><b>Дата</b></a>'; }
}

else { $cLink = '<a href="index.php?module=users&s=date&t=asc">Дата</a>'; }


_____________
Бесполезно просить пощады у цезаря
Фатальная ошибка : Звонок в неопределенную функцию ©
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.