Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Perl: разработка для Web > Сортировка базы


Автор: AndreyCV 21.12.2005, 19:55
Здраствуйте! Возникла такая проблема. Нужно выводить данный с MySQL в алфофитном порядка, но пока я так и неразобрался как smile Помогите пожалуста
use DBI;
my $dbh = DBI->connect("DBI:mysql:база:localhost","юзер","пароль") || die $DBI::errstr;
my $result = $dbh->prepare("SELECT * FROM melodii");
$result->execute();
есть поля executor и name. Нужно чтоб сортировка была сначала по первому полю, а потом по второму. Вобщем должно быть Исполнитель и все его песни. Если несложно по покажите на маем примере как. Заранее спасибо.

Автор: DemoCode 21.12.2005, 20:06
SELECT * FROM melodii ORDER BY executor, name ASC

Автор: sharq 22.12.2005, 15:44
Действительно, лучше всего сортировать записи при помощи sql-запроса, не зря же это предусмотренно. Если нужно в обратном порядке, то пиши DESC, а ASC стоит по умолчанию.

Есть еще вариант - сортировать уже при помощи perl, используюя sort.\

smile

Автор: Guest 22.12.2005, 20:37
Работает, прада я еще не разобрался до конца это то что мне нужно или нет.
sort Я пот про нее сначали и на шел инфу, единственное я непонял как с базой ее связать smile

Автор: korob2001 23.12.2005, 02:23
Не нужно ничего связывать, сортируй с помощью SQL запроса, работать будет куда быстрее чем sort, да и гемороя меньше. К тому же sort создаст неявно в памяти список из всех элементов, а их может быть и довольно много, в зависимости от размера базы.

Автор: Guest 23.12.2005, 20:07
Спасибо, через базу оказалось то что надо, за исключение одного но. С рускими буквами оказалось лажа (((
И еще, я с помощью этой функции SELECT * FROM melodii ORDER BY nomer ASC пытался отсортировать числовое поле. Но почемуто у меня зависал скрипт smile

Автор: Ramirez 24.12.2005, 04:06
Цитата(Guest @ 23.12.2005, 20:07)
С рускими буквами оказалось лажа (((


А вот это, по-моему, зависит от того, какое "сравнение" используется в таблице...

Автор: Guest 24.12.2005, 12:13
Цитата
А вот это, по-моему, зависит от того, какое "сравнение" используется в таблице


А можно поподробней. Сравнение в каких таблицах?

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)