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

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: switch для ссылки [2]

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


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

> Без описания
Denkill
Отправлено: 18 Июня, 2013 - 10:33:26
Post Id



Посетитель


Покинул форум
Сообщений всего: 330
Дата рег-ции: Янв. 2013  
Откуда: Барнаул


Помог: 7 раз(а)




Прошу прощения попробовал можно и без.
(Добавление)
Знаки конкатеции строк не запятая а точка .
(Добавление)
И покажи какие ошибки выводит.


-----
Хо-Хо-Хо
 
 Top
Shuraarh
Отправлено: 18 Июня, 2013 - 10:57:00
Post Id


Новичок


Покинул форум
Сообщений всего: 16
Дата рег-ции: Май 2013  


Помог: 0 раз(а)




Вобщем, ладно, забьем пока на цифры. Если сможешь, то подскажи, пожалуйста, как изначально сделать так, чтобы сортировка не происходила. Если есть order by, то нужно и указать значение, иначе будет ошибка. Поэтому надо изначально указать параметр сортировки. А какой и как параметр задать, чтобы сортировка не происходила, а уже после нажатия ссылки через get передавать нужные параметры сортировки?
 
 Top
IllusionMH
Отправлено: 18 Июня, 2013 - 11:02:48
Post Id



Активный участник


Покинул форум
Сообщений всего: 4254
Дата рег-ции: Февр. 2011  
Откуда: .kh.ua


Помог: 242 раз(а)




Shuraarh, просто не добавляйте эту строку, если параметр пустой
 
 Top
Shuraarh
Отправлено: 18 Июня, 2013 - 11:03:04
Post Id


Новичок


Покинул форум
Сообщений всего: 16
Дата рег-ции: Май 2013  


Помог: 0 раз(а)




Хотя че-то туплю, все-нормально работает. Единственное что осталось - это сделать сортировку в обратном порядке, т.е. как организовать ссылки чтобы можно было сортировать по столбцу и либо по возрастанию, либо по убыванию?
 
 Top
avtor.fox
Отправлено: 18 Июня, 2013 - 11:03:15
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2083
Дата рег-ции: Март 2012  
Откуда: Воронеж


Помог: 50 раз(а)




ёперный театр...

PHP:
скопировать код в буфер обмена
  1. $q = "SELECT * FROM `table`";
  2. if(isset($_GET['sort'])){
  3.     $q .= " ORDER BY `collumn` ASC/DESC";
  4. }
 
 Top
Shuraarh
Отправлено: 18 Июня, 2013 - 11:11:52
Post Id


Новичок


Покинул форум
Сообщений всего: 16
Дата рег-ции: Май 2013  


Помог: 0 раз(а)




Вопрос тогда по-другому: надо сдлеать ссылки для сортировки по колонке и ссылки для сортировки по возрастанию или по убыванию.

Соответственно нужно чтобы можно было выбрать сортировку по колонке и сортировать выбранную колонку по возрастанию либо по убыванию
 
 Top
imya
Отправлено: 18 Июня, 2013 - 13:05:01
Post Id



Участник


Покинул форум
Сообщений всего: 1472
Дата рег-ции: Сент. 2012  
Откуда: Запорожье, Украина


Помог: 19 раз(а)




А скомбинировать ваш запрос и тот, который вам дал avtor.fox не судьба ? Однако


-----
PHP:
скопировать код в буфер обмена
  1. do {box != cat;} while (cat != box);


Когда нормальный человек, уезжая из дома одевает на жену пояс верности, веб-дизайнер ставит на нее счетчик...
 
My status
 Top
Shuraarh
Отправлено: 20 Июня, 2013 - 12:11:42
Post Id


Новичок


Покинул форум
Сообщений всего: 16
Дата рег-ции: Май 2013  


Помог: 0 раз(а)




В общем такая ситуация:
CODE (htmlphp):
скопировать код в буфер обмена
  1.  <a href="co22.php?sortby=1">Брэнд</a>
  2.  <a href="co22.php?sortby=2">Описание</a>


PHP:
скопировать код в буфер обмена
  1.  
  2. $name = $_GET['sortby'];
  3. switch ($name) {
  4.             case '1':
  5.                 $param='order by brand';
  6.                 break;
  7.  
  8.             case '2':
  9.                 $param='order by opisanie';
  10.                 break;
  11.       default:
  12.                 $param='';
  13.                 break;    
  14. }
  15.  
  16. $query = mysql_query("select brand,what,opisanie,image from binder where type='weed'" .$param );


А как добавить еще параметр для дополнительной сортировки DESC либо ASC.

Если создать еще switch с DESC и ASC и получать их также через GET, то у нас будет одно значение соответственно DESC или ASC. Как сохранить при этом значения order by?

(Отредактировано автором: 20 Июня, 2013 - 12:31:10)

 
 Top
IllusionMH
Отправлено: 20 Июня, 2013 - 12:31:30
Post Id



Активный участник


Покинул форум
Сообщений всего: 4254
Дата рег-ции: Февр. 2011  
Откуда: .kh.ua


Помог: 242 раз(а)




Shuraarh, добавить что-то похожее на
PHP:
скопировать код в буфер обмена
  1. if($param && isset($_POST['order'])) {
  2.   $order = $_POST['order'] == 'ASC' ? ' ASC' : ' DECS';
  3.   $param .= $order;
  4. }
 
 Top
VenZell
Отправлено: 20 Июня, 2013 - 12:35:32
Post Id


Частый гость


Покинул форум
Сообщений всего: 237
Дата рег-ции: Июнь 2013  


Помог: 12 раз(а)




CODE (html):
скопировать код в буфер обмена
  1. <a href="co22.php?sortby=1">Брэнд</a>
  2. <a href="co22.php?sortby=1&type=desc">(по убыванию)</a>
  3. <a href="co22.php?sortby=2">Описание</a>
  4. <a href="co22.php?sortby=2&type=desc">(по убыванию)</a>

PHP:
скопировать код в буфер обмена
  1. $name = $_GET['sortby'];
  2. $type = (isset($_GET['type'])) ? $_GET['type'] : '';
  3. $order = ($type === 'desc') ? ' desc' : ' asc';
  4. switch ($name) {
  5.         case '1':
  6.                 $param = ' order by brand';
  7.                 break;
  8.  
  9.         case '2':
  10.                 $param = ' order by opisanie';
  11.                 break;
  12.   default:
  13.                 $order = '';
  14.                 $param = '';
  15.                 break;    
  16. }
  17.  
  18. $query = mysql_query("select brand,what,opisanie,image from binder where type='co2'" . $param . $order);

(Отредактировано автором: 20 Июня, 2013 - 12:39:29)

 
 Top
IllusionMH
Отправлено: 20 Июня, 2013 - 12:40:04
Post Id



Активный участник


Покинул форум
Сообщений всего: 4254
Дата рег-ции: Февр. 2011  
Откуда: .kh.ua


Помог: 242 раз(а)




upd. Не рассмотрел весь код.
VenZell, как вариант.

(Отредактировано автором: 20 Июня, 2013 - 12:40:59)

 
 Top
Shuraarh
Отправлено: 20 Июня, 2013 - 12:49:45
Post Id


Новичок


Покинул форум
Сообщений всего: 16
Дата рег-ции: Май 2013  


Помог: 0 раз(а)




Всем спасибо, решили сделать по-другому: Сделать сразу сортировку не только по бренду или описанию, а сразу по бренду и ASC, если выбрана сортировка по бренду, то рядом с сылкой сортировки появляется ссылка на сортировку DESC, соответственно, если нажата DESC, то потом появляется ASC.

Возможно это неправильно, но как вариант работает.

Всем еще раз спасибо за понимание и вашу помощь
 
 Top
Страниц (2): « 1 [2]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB