Форумы портала PHP.SU » » HTTP и PHP » Обработка кнопки

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

1. deflion - 08 Октября, 2016 - 23:17:27 - перейти к сообщению
Есть желание сделать двойную обработку кнопки, т.е.:
одно нажание -> прямая сортировка
повторное нажатие -> обратная сортировка

попробовал так и чет не выходит(аргументы запроса убрал намеренно)

PHP:
скопировать код в буфер обмена
  1. $sort_tag=1;
  2. if (isset($_POST['sort_type']) & $sort_tag=1){
  3.         $res = mysql_query(" SELECT * FROM  ORDER BY ");
  4.         $sort_tag=0;
  5. } elseif (isset($_POST['sort_type']) & $sort_tag=0) {
  6.         $res = mysql_query(" SELECT * FROM  ORDER BY  DESC");
  7.         $sort_tag=1;
  8. }
2. kuller - 09 Октября, 2016 - 10:58:24 - перейти к сообщению
deflion пишет:
Есть желание сделать двойную обработку кнопки, т.е.:
одно нажание -> прямая сортировка
повторное нажатие -> обратная сортировка

попробовал так и чет не выходит(аргументы запроса убрал намеренно)

PHP:
скопировать код в буфер обмена
  1. $sort_tag=1;
  2. if (isset($_POST['sort_type']) & $sort_tag=1){
  3.         $res = mysql_query(" SELECT * FROM  ORDER BY ");
  4.         $sort_tag=0;
  5. } elseif (isset($_POST['sort_type']) & $sort_tag=0) {
  6.         $res = mysql_query(" SELECT * FROM  ORDER BY  DESC");
  7.         $sort_tag=1;
  8. }


вашем примере вообще ошибку должно показать.

CODE (SQL):
скопировать код в буфер обмена
  1. SELECT * FROM  ORDER BY name ASC

name - название колонки по которой надо сортировать
3. Строитель - 09 Октября, 2016 - 14:26:39 - перейти к сообщению
deflion пишет:
сделать двойную обработку кнопки, т.е.:
одно нажание -> прямая сортировка
повторное нажатие -> обратная сортировка
Демо пример с использованием сессий
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2.  
  3.  
  4. $out = '';
  5. $subm = 'Сортировать';
  6. $arr = ['а', 'б', 'в', 'г', 'д', 'е', 'ж', 'з'];
  7.  
  8. isset($_SESSION['sort']) ?: $_SESSION['sort'] = 0;
  9.  
  10. if (isset($_POST['sort_type']) and ($_SESSION['sort'] & 1)) {
  11.     $out = join(', ', $arr);
  12.     $subm = 'Прямая сортировка';
  13. } elseif (isset($_POST['sort_type']) and !($_SESSION['sort'] & 1)) {
  14.     $out = join(', ', array_reverse($arr));
  15.     $subm = 'Обратная сортировка';
  16. }
  17.  
  18. !isset($_POST['sort_type']) ?: $_SESSION['sort']++;
  19.  
  20. ?>
  21.  
  22. <form method="post">
  23.     <input type="submit" name="sort_type" value="<?PHP echo $subm; ?>"/>
  24. </form>
  25. <?PHP echo $out; ?>
4. deflion - 09 Октября, 2016 - 16:12:00 - перейти к сообщению
kuller пишет:
deflion пишет:
Есть желание сделать двойную обработку кнопки, т.е.:
одно нажание -> прямая сортировка
повторное нажатие -> обратная сортировка

попробовал так и чет не выходит(аргументы запроса убрал намеренно)

PHP:
скопировать код в буфер обмена
  1. $sort_tag=1;
  2. if (isset($_POST['sort_type']) & $sort_tag=1){
  3.         $res = mysql_query(" SELECT * FROM  ORDER BY ");
  4.         $sort_tag=0;
  5. } elseif (isset($_POST['sort_type']) & $sort_tag=0) {
  6.         $res = mysql_query(" SELECT * FROM  ORDER BY  DESC");
  7.         $sort_tag=1;
  8. }


вашем примере вообще ошибку должно показать.

CODE (SQL):
скопировать код в буфер обмена
  1. SELECT * FROM  ORDER BY name ASC

name - название колонки по которой надо сортировать


Ну яной ошибки не выдает, но прямую сортировку делает, а вот с обратной траблы
5. deflion - 09 Октября, 2016 - 19:47:10 - перейти к сообщению
Строитель, то что нужно, при много благодарен

 

Powered by ExBB FM 1.0 RC1