П О Р Т А Л                            
С Е Т Е В Ы Х                          
П Р О Е К Т О В                        
  
Поиск по сайту:
                                                 
Главная

О проекте

Web-мастеру
     HTML & JavaScript
     SSI
     Perl
     PHP
     XML & XSLT
     Unix Shell

MySQL

Безопасность

Хостинг

Другое








Самое читаемое:

Учебник PHP - "Для Чайника".
Просмотров 3439 раз(а).

Иллюстрированный самоучитель по созданию сайтов.
Просмотров 5995 раз(а).

Учебник HTML.
Просмотров 3221 раз(а).

Руководство по PHP5.
Просмотров 5442 раз(а).

Хостинг через призму DNS.
Просмотров 4050 раз(а).

Подборка текстов стандартных документов.
Просмотров 55723 раз(а).

Учебник PHP - Самоучитель
Просмотров 3021 раз(а).

Документация на MySQL (учебник & справочное руководство)
Просмотров 4821 раз(а).

Внешние атаки...
Просмотров 3759 раз(а).

Учебник PHP.
Просмотров 2782 раз(а).

SSI в примерах.
Просмотров 37396 раз(а).



 
 
| Добавить в избранное | Сделать стартовой | Помощь





ГЛАВА 11. Базы данных

Сортировка таблиц

При выводе данных из базы необходимо предусмотреть возможность их сортировки по различным критериям. В качестве примера рассмотрим результаты, выведенные нашей поисковой системой, — обратим особое внимание на следующие после заголовка Order History:(История заказов). Допустим, список получился очень длинным, и вы хотите отсортировать данные по идентификатору товара(или идентификатору заказа). Чтобы вы лучше поняли, о чем идет речь, рекомендую посетить один из моих любимых сайтов, http://download.cnet.com. Если в процессе просмотра программ конкретной категории щелкнуть на заголовке столбца(название, дата размещения, количество загрузок или размер файла), то список автоматически упорядочивается по содержимому указанного столбца. Далее показано, как реализовать подобную возможность.

В листинге 11.6 мы производим выборку данных из таблицы orders. По умолчанию данные сортируются по убыванию объема заказа(поле quantity). Однако щелчок на любом заголовке таблицы приводит к тому, что страница загружается заново с упорядочением таблицы по указанному столбцу.

Листинг 11.6. Сортировка таблиц(tablesorter.php)

<?

// Подключиться к серверу MySQL и выбрать базу данных
@mysql_connect("localhost","web","ffttss") or die("Could not connect to MySQL server!");
@mysql_select_db("company") or die("Could not select company database!");

// Если значение переменной $key не задано, по умолчанию
// используется значение 'quantity'
if(! isset($key)) :
  $key = "quantity";
endif;

  // Создать и выполнить запрос.
  // Выбранные данные сортируются по убыванию столбца $key
  $query = "SELECT order_id, cust_id, prod_id, quantity FROM orders ORDER BY $key DESC" $result = mysql_query($query);

  // Создать заголовок таблицы
  print "<table border = 1>";
  print "<tr>
  <th><a href=\"Listing11-6.php?key=order_id\">Order ID</a></th>
  <th><a href=\"Listing11-6.php?key=cust_id\">Customer ID</a></th>
  <th><a href=\"Listing11-6.php?key=prod_id\">Product ID</a></th>
  <th><a href=\"Listing11-6.php?key=quantity\">Quantity</a>
  </th></tr>";

  // Отформатировать и вывести каждую строку таблицы
  while(list($order_id,$cust_id,$prod_id, $quantity) = mysql_fetch_row($result)) :
    print "<tr>";
    print "<td>$order_id</td><td>$cust_id</td><td>$prod_id</td><td>$quantity</td>";
    print "</tr>";
  endwhile;

  // Завершить таблицу
  print "</table>";

Для базы данных company, изображенной на рис. 11.1, стандартные выходные данные листинга 11.6 выглядят следующим образом:

Order ID Customer ID Product ID Quantity

100003

2000cu 1000pr 12

100005

2000cu 1002pr 11

100004

2000cu 1000pr 9

100002

2000cu 1001pr 5

100001

2000cu 1002pr 3

Обратите внимание: заголовки таблицы представляют собой гиперссылки. Поскольку по умолчанию сортировка осуществляется по полю quantity, записи отсортированы по убыванию последнего столбца. Если щелкнуть на ссылке Order_ID, страница загружается заново, но на этот раз записи сортируются по убыванию идентификатора заказа. Таблица будет выглядеть так:

Order ID Customer ID Product ID Quantity

100005

2000cu 1002pr 11

100004

2000cu 1000pr 9

100003

2000cu 1000pr 12

100002

2000cu 1001pr 5

100001

2000cu 1002pr 3

Сортировка выходных данных приносит огромную пользу при форматировании баз данных. Простая модификация запроса SELECT позволяет упорядочить данные по любому критерию — по возрастанию, по убыванию или с группировкой записей.

На этом наше знакомство с MySQL подходит к концу. Учтите, что материал этой главы отнюдь не исчерпывает всего, что необходимо знать о MySQL. Полный список команд MySQL в РНР приведен в документации(http://www.php.net/manuat).

Назад | Содержание раздела | Общее Содержание | Вперед



Если Вы не нашли что искали, то рекомендую воспользоваться поиском по сайту:
 





Copyright © 2005-2016 Project.Net.Ru