[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Сортировка списка файлов
Pumbel
Доброе утро.

Этот кусочек кода выводит на страницу менюшку из всех пхп страниц в папке (кроме хоум.пхп) в алфавитном порядке.

<ul>
<?php

foreach (glob("*.php") as $fullfilename) {
$filename=str_replace (".php","",$fullfilename);
if ($filename != 'home') {
echo "<li><a href=\"$filename.php\">$filename</a></li>";
}
}

?>
<li><a
href="../info.html">info</a></li>
</ul>


Подскажите плиз, как мне отсортировать этот список в произвольном порядке, описанном в отдельном файле.

Сейчас результат выглядит так:
* gothy
* jeans
* lacy_saf
* mosaic
* rat_q
* saf
* info

А надо так:
* saf
* lacy_saf
* gothy
* jeans
* rat_q
* mosaic
* info

Только очень прошу, не пишите "используй usort" или вроде того. Не понял я, как ее использовать.
Если несложно, напишите готовый код с кратким пояснением.



Спустя 3 минуты, 27 секунд (11.02.2011 - 09:46) alex12060 написал(а):
Тебе надо отсортировать в алф порядке, но также в обратном?
Используй usort :В

Спустя 41 минута, 8 секунд (11.02.2011 - 10:27) Snus написал(а):
Pumbel
Что-то я не пойму логику сортировки...

Спустя 2 минуты, 23 секунды (11.02.2011 - 10:29) Pumbel написал(а):
логика сортировки - по значимости страниц :) то есть не сортировка, а порядок, заданный пользователем

Спустя 4 минуты, 10 секунд (11.02.2011 - 10:33) Snus написал(а):
Pumbel
Ну это уже целый процесс :) К примеру тебе нужно создать таблицу в БД с содержаением:
id | fileName | sId

Своим циклом заливаешь в таблицу наименование всех файлов, а потом где-нибудь в админке меняешь sId. (у меня это реализованно на jQuery).

А потом простая выборка:

SELECT `fileName` FROM `fileTable` ORDER BY `sId`

Спустя 3 минуты, 1 секунда (11.02.2011 - 10:36) Guest написал(а):
Snus
спасибо. нихрена не понял, как это сделать, но общая суть ясна :)

а нельзя как-то присвоить каджому файлу или названию файла дополнительный параметр, по которому будет вестись сортировка?

Спустя 4 минуты, 22 секунды (11.02.2011 - 10:41) Snus написал(а):
Guest
Как? :) Ты можешь переименовать свои файлы в такой вот вид
1_filename1.php
2_filename88.php
3_filename54.php

Циклом загонять в массив, разбивая название файла на 1 и filename88.php примерно так
{
$arrFiles[$sId] = $fileName;
}
ksort($arrFiles);


Но это извращенство :)
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.