Создать ответ 
Построение дерева иерархии или дерева комментариев
Автор Сообщение
ale10ey Не на форуме
Генерал-лейтенант
*

Сообщений: 352
У нас с: Nov 2014
Сообщение: #251
RE: Построение дерева иерархии или дерева комментариев
Здравствуйте, не получается, в старом форме работал код, а здесь нет, ваши подсказки помогают, но не решают проблемы.
20.05.2015 22:09:08
Найти все сообщения Цитировать это сообщение
Admin Не на форуме
Верховный
Главнокомандующий
(Administrator)
*

Сообщений: 2,431
У нас с: Aug 2011
Сообщение: #252
RE: Построение дерева иерархии или дерева комментариев
Я же не телепат не глядя на код и все изменения искать проблемы. Big Grin

Если у Вас URL обычной странички с комментариями имеет вид _http://autocad-problem.net/read/info-1.html
То просто попробуйте дописать в конец URL ?comment_list=2: _http://autocad-problem.net/read/info-1.html?comment_list=2

Если выдается ошибка (страничка не найдена и т.д.), то проблема в перенаправлении (редиректе).
20.05.2015 22:13:52
Найти все сообщения Цитировать это сообщение
ale10ey Не на форуме
Генерал-лейтенант
*

Сообщений: 352
У нас с: Nov 2014
Сообщение: #253
RE: Построение дерева иерархии или дерева комментариев
Если нахожусь на странице _http://autocad-problem.net/read/info-1.html и дописываю в конец URL ?comment_list=2: _http://autocad-problem.net/read/info-1.html?comment_list=2, то появляются коммментарии, которые скрыты (Еще комментарии: 1 [ 2 ]), если находясь на этой странице в адресную строку ввести _http://autocad-problem.net/read/info-1.html?comment_list=1), то все нормально, т.е так все работает, а если кликать по ссылке 2 на странице _http://autocad-problem.net/read/info-1.html (Еще комментарии: [ 1 ] 2), то Error 500.
20.05.2015 23:04:29
Найти все сообщения Цитировать это сообщение
Admin Не на форуме
Верховный
Главнокомандующий
(Administrator)
*

Сообщений: 2,431
У нас с: Aug 2011
Сообщение: #254
RE: Построение дерева иерархии или дерева комментариев
Значит скрипт рабочий, за исключением формирования ссылок для перехода.

Если у Вас комментарии только на одной страничке, то логично было бы прописать ссылки сразу в код (вместо '.$mess_url.' сделать _http://autocad-problem.net/read/info-1.html).

Либо "побороть" переменную $mess_url и добиться, чтобы в ней содержалось имя текущей странички.
20.05.2015 23:18:17
Найти все сообщения Цитировать это сообщение
ale10ey Не на форуме
Генерал-лейтенант
*

Сообщений: 352
У нас с: Nov 2014
Сообщение: #255
RE: Построение дерева иерархии или дерева комментариев
За подсказку спасибо, если в коде :
function col_pages($count, $this) {
$j=0; $out=""; $td='<td width="35">';
if (($this-3)<1) $i=1;
else $i=$this-3;
if ($i==1) $i++;

if (($count-7)<$i) $i=$count-7;
if ($i<2) $i=2;

if ($this!=1) $out.=$td.'<a href="'.$mess_url.'info-1.html?comment_list=1">1</a></td>';
else $out.=$td.'<b>[ 1 ]</b></td>';

if ($i>2) $out.=$td.'...</td>';

while ((($i<=($this+3)) or ($j<7)) and ($i<$count)) {
if ($i!==$this) $out.=$td.'<a href="'.$mess_url.'info-1.html?comment_list='.$i.'">'.$i.'</a></td>';
else $out.=$td.'<b>[ '.$i.' ]</b></td>';
$i++; $j++;
}
if ($i<$count) $out.=$td.'...</td>';
if ($count>1) {
if ($count!=$this) $out.=$td.'<a href="'.$mess_url.'info-1.html?comment_list='.$count.'">'.$count.'</a></td>';
else $out.=$td.'<b>[ '.$count.' ]</b></td>';
}
return $out;
}

К расширению .html добавляю info-1, то все работает, но у меня несколько разных страниц, а файл один и помнится в старой форме все работало.
Хотел бы победить, но без вашей помощи никак не получается...

Кстати из предыдущего вашего сообщения:
Заменил:
$mess_url=mysqli_real_escape_string($db,basename($_SERVER['SCRIPT_FILENAME']));
на:
$mess_url=mysqli_real_escape_string($db,basename($_SERVER['REQUEST_URI']));


P.S.:
1. _http://autocad-problem.net/read/info-1.html (начальная страница)
2. _http://autocad-problem.net/read/.html?comment_list=2 (добавлено расширение .html)
3. _http://autocad-problem.net/read/info-1.html?comment_list=2 (все работает)

У меня info-1, info-2, ...info-10, а также read-1, read-2...read-10.html и будет очень много одинаковых кодов, где будет отличаться info-1.html на соответствующую страницу, что не хотелось так бы оформлять...
(Последний раз сообщение было отредактировано 20.05.2015 в 23:44:45, отредактировал пользователь ale10ey.)
20.05.2015 23:36:25
Найти все сообщения Цитировать это сообщение
Admin Не на форуме
Верховный
Главнокомандующий
(Administrator)
*

Сообщений: 2,431
У нас с: Aug 2011
Сообщение: #256
RE: Построение дерева иерархии или дерева комментариев
Возможно, я вижу причину все бед.

Попробуйте после function col_pages($count, $this) { добавить global $mess_url;, т.к. ссылки формируются внутри функции, а переменная $mess_url - снаружи. Тогда info-1.html из кода можно будет удалить.

А в старой форме работало, т.к. внутри функции для формирования ссылок использовались переменные сессий ($_SESSION[mess_url]).
21.05.2015 00:02:56
Найти все сообщения Цитировать это сообщение
ale10ey Не на форуме
Генерал-лейтенант
*

Сообщений: 352
У нас с: Nov 2014
Сообщение: #257
RE: Построение дерева иерархии или дерева комментариев
СПАСИБО ВАМ ОГРОМНОЕ Ok Happy Yes. Я может быть и догадался методом проб и ошибок, но вам спасибо за терпение.

А вы не подскажете как прописать стиль, чтобы после клика на ссылку 2, переход был на страницу но сразу к комментариям. В данный момент переход сразу на страницу, но надо прокрутить вниз, чтобы увидеть комментарии.

Как правильно в данный код прописать относительный адрес для ссылки, как в css я знаю, но как в коде затрудняюсь, чтобы переход был сразу к комментариям.

Еще раз спасибо вам за терпение и с уважением Yes
21.05.2015 00:19:31
Найти все сообщения Цитировать это сообщение
Admin Не на форуме
Верховный
Главнокомандующий
(Administrator)
*

Сообщений: 2,431
У нас с: Aug 2011
Сообщение: #258
RE: Построение дерева иерархии или дерева комментариев
Так для этого существуют якоря.

Добавьте любому элементу перед началом комментариев уникальный id, например echo '<b id="comments">Последние комментарии:</b><br>';

А в конец ссылки добавьте #comments.
21.05.2015 00:28:39
Найти все сообщения Цитировать это сообщение
ale10ey Не на форуме
Генерал-лейтенант
*

Сообщений: 352
У нас с: Nov 2014
Сообщение: #259
RE: Построение дерева иерархии или дерева комментариев
Работает, но в адресной строке добавляются данные постоянно, если переходить по ссылкам, т.е.:
1. Если со страницы _http://autocad-problem.net/read/info-1.html перейти по ссылке 2 (Еще комментарии: [ 1 ] 2), то все нормально
_http://autocad-problem.net/read/info-1.html?comment_list=2, а если кликнуть для перехода обратно на ссылку 1 (Еще комментарии: 1 [2] ), то переход на страницу будет нормально, но в адресной строке:

_http://autocad-problem.net/read/info-1.html?comment_list=2?comment_list=1

что правильно, но если снова перейти по ссылке 2, то в адресной строке:
_http://autocad-problem.net/read/info-1.html?comment_list=2?comment_list=1?comment_list=2

и перехода на страницу со скрытыми комментариями нет, остается после клика на этой же странице т.д., т.е если кликнуть снова по ссылке 2, то в строке:
_http://autocad-problem.net/read/info-1.html?comment_list=2?comment_list=1?comment_list=2?comment_list=2


Наверно нужно прописать, чтобы comment_list=1?comment_list=2?comment_list=2 обнулялись в адресной строке после перехода, я правильно понимаю ?

(21.05.2015 00:28:39)Admin писал(а):  Так для этого существуют якоря.

Добавьте любому элементу перед началом комментариев уникальный id, например echo '<b id="comments">Последние комментарии:</b><br>';

А в конец ссылки добавьте #comments.

Работает, Yes
(Последний раз сообщение было отредактировано 21.05.2015 в 00:47:51, отредактировал пользователь ale10ey.)
21.05.2015 00:39:01
Найти все сообщения Цитировать это сообщение
Admin Не на форуме
Верховный
Главнокомандующий
(Administrator)
*

Сообщений: 2,431
У нас с: Aug 2011
Сообщение: #260
RE: Построение дерева иерархии или дерева комментариев
Не совсем.
Обнулять ничего не надо. Надо просто правильно формировать ссылки для перехода.

$mess_url=basename($_SERVER['SCRIPT_FILENAME']);

В $mess_url должно быть имя файла.

А далее в коде остается добавить лишь ?comment_list=
PHP код:
<a href="'.$mess_url.'?comment_list 
21.05.2015 20:10:59
Найти все сообщения Цитировать это сообщение
Создать ответ 


Переход:


Пользователи просматривают эту тему: 1 Гость(ей)


LiveInternet
© Copyright 2011-2024 by UsefulScript.ru