Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: сортировка массива по ссылке
Форумы портала PHP.SU » » Вопросы новичков » сортировка массива по ссылке

Страниц (1): [1]
 

1. daniil_belar - 05 Августа, 2012 - 11:30:32 - перейти к сообщению
здравствуйте. помогите как сделать что бы при первом нажатии на ссылку массив сортировал по одному, а при втором нажатии по этой ссылке, сортировал в противоположном порядке.
пробовал через оператор if...elseif..else, не получается.
через проверку isset также остается в ссылке только первое полученной значение.
как можно это реализовать
2. Toxa - 05 Августа, 2012 - 12:42:07 - перейти к сообщению
нужно передавать по ссылке тип сортировки ASC|DESC и в зависимости от этого делать выборку из БД
3. daniil_belar - 06 Августа, 2012 - 00:56:14 - перейти к сообщению
а не мог бы ты на примере простой ссылки условно показать?
4. KingStar - 06 Августа, 2012 - 08:33:33 - перейти к сообщению
сделай сортировку на JS, например как здесь http://tablesorter[dot]com/docs/
5. daniil_belar - 06 Августа, 2012 - 12:59:39 - перейти к сообщению
интересует больше на php, JS я вообще никогда нечего не делал преднамеренно.
допустим у нас есть ссылка
CODE (html):
скопировать код в буфер обмена
  1. <a href="?">ссылка</a>

напишите кратко как должен код выглядеть по моей ссылке что бы выполняло разные действия как описывалось в первом посте.
за помощь могу отблагодарить символической платой Подмигивание
6. KingStar - 06 Августа, 2012 - 14:41:29 - перейти к сообщению
допустим у тебя ссылка
PHP:
скопировать код в буфер обмена
  1. <a href="domain.com/index.php?sort=1">по возрастанию</a>

и ссылка
PHP:
скопировать код в буфер обмена
  1. <a href="domain.com/index.php?sort=2">по убыванию</a>


делаешь проверку

PHP:
скопировать код в буфер обмена
  1. if(isset($_GET['sort']) && $_GET['sort'] == 1)
  2. {
  3.      $sort = "ORDER BY id_table ASC";
  4. }
  5. else if(isset($_GET['sort']) && $_GET['sort'] == 2)
  6. {
  7.      $sort = "ORDER BY id_table DESC";
  8. }
  9. else
  10. {
  11.      $sort = "";
  12. }


и далее в запрос подставляешь

PHP:
скопировать код в буфер обмена
  1. mysql_query("SELECT ... FROM ... WHERE ...".$sort." LIMIT ... ");
7. daniil_belar - 06 Августа, 2012 - 16:02:03 - перейти к сообщению
спасибо за помощь, разобрался.
P.S. по поводу символической платы напиши в личку если есть желание.
8. KingStar - 06 Августа, 2012 - 17:59:03 - перейти к сообщению
да ну, наслаждайся Радость , не ради денег помог
(Добавление)
но я бы все ровно сделал на JS Хорошо

 

Powered by ExBB FM 1.0 RC1