КАРТА САЙТА
Sibnet.ru
Sibnet.ru

Sibnet.ru — это информационно-развлекательный интернет-проект, ориентированный на широкий круг Сибирского региона.
По данным Rambler Top100, Sibnet.ru является самым популярным порталом в Сибири.

Контакты:
АО "Ринет"
ОГРН 1025402475856
г. Новосибирск, ул. Якушева, д. 37, 3 этаж
отдел рекламы:
(383) 347-10-50, 347-06-78, 347-22-11, 347-03-97

Редакция: (383) 347-86-84

Техподдержка:
help.sibnet.ru
Авторизируйтесь,
чтобы продолжить
Некоторые функции доступны только зарегистрированным пользователям
Неправильный логин или пароль




  LstR.Vasabi   Sibnet-club

 личные данные


друзья:

25.01.2008
 
LstR.Vasabi
13:35 древовидные комментарии...
Запись открыта: всем
Решил вот сделать древовидные комментарии... Вчера(???) ночью накатал вроде... Сегодня проснулся, смотрю на это...
Решил сделать простой сортировкой. На каждой странице строится path вида хххх.хххх.хххх.хххх.хххх

Собственно безмозглое ночное спящее написательство вылилось вот во что:

function build_num($path){
$length = strlen($path);
$path = sprintf("%04d", $path);
return $path;
}
function lastdot($path){
$lastdot = strrpos($path,".");
return $lastdot;
}

function build_child($parent_path, $lastdot){
$child_path = substr($parent_path, $lastdot+1, 4);
$child_path = $child_path+1;
return $child_path;
}

function build_parent($parent_path, $lastdot){
$parent_path = substr($parent_path, 0, $lastdot);
return $parent_path;
}
if(empty($parentid)){
$sql = sed_sql_query("SELECT com_path FROM $db_com WHERE com_code = '$code' AND com_level = '0' ORDER BY com_path DESC LIMIT 1");
$row = sed_sql_fetcharray($sql);
$path = (int)$row['com_path']+1;
$path = build_num($path);
$level = 1;
}
else{
$sql = sed_sql_query("SELECT com_path, com_level FROM $db_com WHERE com_code = '$code' AND com_id ='$parentid' ORDER BY com_path DESC LIMIT 1");
$row = sed_sql_fetcharray($sql);
$parent_level_path = $row['com_path'];
$level = $row['com_level']+1;
if($level == '6'){
$level = '5';

$lastdot = lastdot($parent_level_path);
$parent_path = build_parent($parent_level_path, $lastdot);
}

$sql_lvl6 = ($level == '5') ? "com_path REGEXP '^".$parent_path.".....$' AND com_level = '5'" : "com_path REGEXP '^".$parent_level_path.".....$' AND com_id != '$parentid'";

$sql = sed_sql_query("SELECT com_path FROM $db_com WHERE com_code = '$code' AND $sql_lvl6 ORDER BY com_path DESC LIMIT 1");

if (sed_sql_numrows($sql)>0){
$row = sed_sql_fetcharray($sql);

$parent_path = ($level == '5') ? $parent_path : $parent_level_path;
$lastdot = lastdot($row['com_path']);
$child_path = build_child($row['com_path'], $lastdot);
$child_path = build_num($child_path);
$path = $parent_path.".".$child_path;
}
else{
$path = $parent_level_path.".0001";
}
}



Сижу, думаю... то ли убица, то ли нет...
Топорово конешна, но должно работать....





Страницы: 1

freedom_for_me
25.01.2008, 14:16
*село какать*


Пить в одиночку - это интровертная коммуникабельность, а вовсе не алкоголизм.
LstR.Vasabi
25.01.2008, 14:28
кышь отсюда


freedom_for_me
25.01.2008, 14:29
ладна, усе-равно надоело ужо флудить.


Пить в одиночку - это интровертная коммуникабельность, а вовсе не алкоголизм.
Беспредельность
25.01.2008, 14:47
ненавижу древовидные коменты...

читать - заебешься...


LstR.Vasabi
25.01.2008, 15:02
Поэтому заплонирован переключатель вида представления комментариев xD


Жёлтый пакет с бухло
25.01.2008, 15:05
А ПРОМТ переводит с древовиднокомментарского на русский? Где словарь скачать?


Страницы: 1
Редакция: (383) 347-86-84

Техподдержка:
help.sibnet.ru
Размещение рекламы:
тел: (383) 347-06-78, 347-10-50

Правила использования материалов
Наши вакансии

О проекте
Пользовательское соглашение
Политика конфиденциальности