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 :: Выборка данных из БД с сортировкой

 PHP.SU

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


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

> Без описания
alsio
Отправлено: 15 Февраля, 2013 - 13:33:52
Post Id


Гость


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


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

[+]


Отрывок из view.php :
PHP:
скопировать код в буфер обмена
  1. <? // Составляем запрос для извлечения данных таблицы
  2. $query = "SELECT * FROM $table ORDER BY id DESC";
  3.  
  4. // Выполняем запрос. Если произойдет ошибка - вывести ее
  5. $res = mysql_query($query) or die(mysql_error()); ?>
  6.  
  7. <table width="1570" border="0" cellspacing="1" cellpadding="5" bgcolor="#005b7f">
  8.   <tr class="tablebar">
  9.     <td width="60">№ расписки</td>
  10.     <td width="60">Дата приема</td>
  11.     <td width="70">Статус</td>
  12.   </tr>
  13.   <? while ($row = mysql_fetch_array($res)) { ?>
  14.   <tbody class="table">
  15.   <tr>
  16.     <td valign="top"><b><? echo ("<a name=\"upd\" href=\"update_data.php?upd=".$row["id"]."\"> ".$row["id"]." "); ?></a></b></td>
  17.     <td valign="top"><? echo (" ".$row["creatdate"]." "); ?></td>
  18.     <td valign="top"><? echo (" ".$row["status"]." "); ?></td>
  19.   </tr>
  20.   </tbody>
  21. <? } ?>
  22. </table>


В таблицу выводятся все данные из БД по id, согласно 1,2 строчкам кода.

Как сделать следующее: В шапке таблицы под заголовком делаем поля для ввода (№ расписки-текстовое; дата приема-календарик; статус-селект). В соответствии с выбором в этих полях формируются данные для вывода в таблицу. Т.е. этакая сортировка данных по столбцам.

Подобное на сайте exist.ru для примера:
Прикреплено изображение (Нажмите для увеличения)
exist.JPG

(Отредактировано автором: 16 Февраля, 2013 - 09:11:07)

 
 Top
alsio
Отправлено: 18 Февраля, 2013 - 14:37:07
Post Id


Гость


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


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

[+]


Молчание знатоков непонятно.

Подскажите хоть, как вообще выборка делается? По умолчанию - понятно - 1,2 строчки кода. А как менять эту строку:
PHP:
скопировать код в буфер обмена
  1. $query = "SELECT * FROM $table ORDER BY id DESC";

допустим на
PHP:
скопировать код в буфер обмена
  1. $query = "SELECT * FROM $table ORDER BY status DESC";


Типа на странице вывода сделать в начале форму с запросом вида сортировки.

Как?

(Отредактировано автором: 18 Февраля, 2013 - 14:37:44)

 
 Top
DelphinPRO
Отправлено: 18 Февраля, 2013 - 16:12:57
Post Id



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


Покинул форум
Сообщений всего: 7187
Дата рег-ции: Февр. 2012  


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




CODE (html):
скопировать код в буфер обмена
  1. <tr class="tablebar">
  2.     <td width="60"><a href="?orderby=id">№ расписки</a></td>
  3.     <td width="60"><a href="?orderby=date">Дата приема</a></td>
  4.     <td width="70"><a href="?orderby=status">Статус</a></td>
  5. </tr>


в php проверяете переменную $_GET['orderby']:

PHP:
скопировать код в буфер обмена
  1. $orderby = isset($_GET['orderby']) ? $_GET['orderby'] : 'id';
  2. $query = "SELECT * FROM $table ORDER BY $orderby DESC";


SQL-инъекции сами прикройте

(Отредактировано автором: 18 Февраля, 2013 - 16:13:27)



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


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



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

 
Powered by ExBB FM 1.0 RC1. InvisionExBB