Второй вариант сделал с использованием поиска по доп полю.
Таблица имеет вид имеет вид:
id | local | name
1 | files | java
2 | files/java | hit
3 | files/java/hit | top100
и т.д.
И так тоже получается сетка и подсчёт работает коректно. Всё кул, но теперь у меня на сайте 80 000 файлов и папок и если приминяю функцию подсчёта, то страницы заметно тормозят сек по 5.
запрос на листинг
<?php
$fol = isset($_GET['f']) ? intval($_GET['f']) : 'not';
if ($fol != 'not') {
$sql = mysql_query("SELECT `local`, `name` FROM `down` WHERE `id` = '".$fol."'");
list($loc, $nam) = mysql_fetch_array($sql);
$loc = $loc.'/'.$nam;
} else { $loc = 'files'; }
$sql = mysql_query("SELECT `id`, `type`, `rus_name` FROM `down` WHERE `local` = '".$loc."'");
...
подсчтёт
$num_folder=mysql_result(
mysql_query("SELECT COUNT(`id`)
FROM `down`
WHERE `type`='folder'
AND `local`
LIKE '".($local.'/'.$name)."%'"),0);
Изменил: Жека (17.04.2010 / 21:41)