Технический форум

Технический форум (http://www.tehnari.ru/)
-   Изготовление сайтов (http://www.tehnari.ru/f129/)
-   -   Нужна помощь в PHP (http://www.tehnari.ru/f129/t54700/)

nightgremlin 19.07.2011 11:01

Нужна помощь в PHP
 
Здравствуйте, вот и мне понадобилась ваша помощь.
Дело в следующем: создал рамку (верстка на div). Она будет расположена вверху в правом рукаве у меня на сайте ССЫЛКА УДАЛЕНА
В рамке будут ссылки на другие страницы сайта (примерно 7-10 штук)
Под ссылками я собираюсь сделать нумерацию [1] [2] [3] и т.д. по мере наполнения рамки ссылками.
Вот в чем незадача: как сделать так, чтобы пользователи оставались на странице при этом могли перелистывать странице в рамке?
Алгоритм приблизительно следующий [1] - это отдельный блок php, и все последующие [2] [3] .... тоже блоки.
Напишите кто знает скрипт или идеи как это осуществить желательно без JavaScript. Ещё одно условие - ссылки должны индексироваться поисковиками поэтому все рамки (под номерами будут заключены в блоки php).

MrSTEP 19.07.2011 11:21

То есть вы хотите сделать отдельную прокрутку для отдельно взятой колонки, я правильно понял?

nightgremlin 19.07.2011 11:27

Хотелось бы сделать это в самом блоке почти правильно

MrSTEP 19.07.2011 11:35

И все-таки.. Вы хотите, что бы длинный список отображался с полосой прокрутки, или хотите щелчком мыши переключаться между блоками ссылок [1], [2] и [3]?

nightgremlin 19.07.2011 11:39

щелчком мыши переключаться между блоками ссылок

MrSTEP 19.07.2011 11:48

Тогда вам лучше использовать как раз ЯваСкрипт.. Другой путь - делить страницу на фреймы, что может привести к смене структуры всего сайта. Подождите часок, я кину пример похожей задачи, реализованной на Яве.

nightgremlin 19.07.2011 11:58

Я как раз не хотел использовать ни фреймы, ни Яву. Но скажу спасибо за любую помощь. Просто интересная задача, на других сайтах такого не видел, а такая навигация была бы как раз кстати.

MrSTEP 19.07.2011 12:02

А без них тут никак.. Я сам фреймы не люблю, а вот с помощью JS можно много хорошего наворотить. :) Ну скоро все будет.

nightgremlin 19.07.2011 12:23

нашел такой код:
<?php
$itemscount=100; // количество элементов (статей)
$itemsperpage=7; // кол-во эл-в на странице
if (isset($_REQUEST['page']))
{ $cpage=$_REQUEST['page']; }
else { $cpage=1; }
// если странца не задана, то будем на 1й
$pagedisprange=3; // сколько страниц до и после текущей выводить
$pagescount=ceil($itemscount/$itemsperpage); // кол-во страниц
$stpage=$cpage-$pagedisprange; // определим начиная с какого номера будем выводить страницы
if ($stpage<1) { $stpage=1; } // если наше "начало" вылазит на отрицательные номера, то стави м в 1
$endpage=$cpage+$pagedisprange; // аналогично с номером, по который будем выводить
if ($endpage>$pagescount) { $endpage=$pagescount; } // если больше чем страниц, то последняя выводимая страницы - самая последняя наша
if ($cpage>1) {
// first
echo '<a href="?page=1"><<</a> ';
// prev
echo '<a href="?page='.($cpage-1).'"><</a> ';
}
if ($stpage>1) echo '... '; // если начало вывода не 1, то напечатаем три точки
for ($i=$stpage;$i<=$endpage;$i++) {
if ($i==$cpage) { echo '<strong>'.$i.'</strong> '; }
else { echo '<a href="?page='.$i.'">'.$i.'</a> '; }
}
if ($endpage<$pagescount) echo '... '; // если начало конец вывода не последняя страница, то напечатаем три точки
if ($cpage<$pagescount) {
// next
echo '<a href="?page='.($cpage+1).'">></a> ';
// last
echo '<a href="?page='.$pagescount.'">>></a> ';
}
?>

но он выводит саму страницу, как бы сделать так чтобы он выводил отдельный блок на странице?

kreol 19.07.2011 12:40

что-то такое? постраничная навигация

п.с. с фреймами надо мучатся для индексации в поисковиках содержимого

kreol 19.07.2011 12:55

Цитата:

Сообщение от nightgremlin (Сообщение 554846)
нашел такой код:
<?php
$itemscount=100; // количество элементов (статей)
$itemsperpage=7; // кол-во эл-в на странице
if (isset($_REQUEST['page']))
{ $cpage=$_REQUEST['page']; }
else { $cpage=1; }
// если странца не задана, то будем на 1й
$pagedisprange=3; // сколько страниц до и после текущей выводить
$pagescount=ceil($itemscount/$itemsperpage); // кол-во страниц
$stpage=$cpage-$pagedisprange; // определим начиная с какого номера будем выводить страницы
if ($stpage<1) { $stpage=1; } // если наше "начало" вылазит на отрицательные номера, то стави м в 1
$endpage=$cpage+$pagedisprange; // аналогично с номером, по который будем выводить
if ($endpage>$pagescount) { $endpage=$pagescount; } // если больше чем страниц, то последняя выводимая страницы - самая последняя наша
if ($cpage>1) {
// first
echo '<a href="?page=1"><<</a> ';
// prev
echo '<a href="?page='.($cpage-1).'"><</a> ';
}
if ($stpage>1) echo '... '; // если начало вывода не 1, то напечатаем три точки
for ($i=$stpage;$i<=$endpage;$i++) {
if ($i==$cpage) { echo '<strong>'.$i.'</strong> '; }
else { echo '<a href="?page='.$i.'">'.$i.'</a> '; }
}
if ($endpage<$pagescount) echo '... '; // если начало конец вывода не последняя страница, то напечатаем три точки
if ($cpage<$pagescount) {
// next
echo '<a href="?page='.($cpage+1).'">></a> ';
// last
echo '<a href="?page='.$pagescount.'">>></a> ';
}
?>

но он выводит саму страницу, как бы сделать так чтобы он выводил отдельный блок на странице?

только с помощью javascript - технологии ajax

MrSTEP 19.07.2011 13:02

Вложений: 1
Вот вам мое творение. Имхо, самое простое из предложенных..

nightgremlin 19.07.2011 13:33

а список который вы написали будет индексироваться поисковиками?
Вроде подходит. Единственное этот код будет отдельно в блоке посмотрю дома что из этого получиться.

nightgremlin 19.07.2011 13:37

плохо что я плохо знаю Яву и php, но как-нибудь будем разбираться.

nightgremlin 19.07.2011 13:42

может через месяц или два увидите что из этого получиться, статьи приходится самому писать и код тоже выматывает немножко, просто охота писать для людей.
Это отличный форум всем спасибо! Если кто что ещё найдет пишите!

MrSTEP 19.07.2011 13:42

Цитата:

Сообщение от nightgremlin (Сообщение 554885)
а список который вы написали будет индексироваться поисковиками?

Это вы мне? Да я как-то с индексацией не очень работал, не знаю, чего ей нужно. Казалось бы, простой div, просто изначально скрытый.
Цитата:

Сообщение от nightgremlin (Сообщение 554887)
но как-нибудь будем разбираться.

Разбирайтесь конечно. Если что - спрашивайте.

kreol 19.07.2011 14:11

Цитата:

Сообщение от nightgremlin (Сообщение 554885)
а список который вы написали будет индексироваться поисковиками

доп телодвижений совершать не надо. в общем если будет текст уникален то через какое-то время будет.
и еще все таки не стоит путать java и javascript

nightgremlin 19.07.2011 14:24

я не путаю просто до конца название не дописал

nightgremlin 20.07.2011 06:54

Цитата:

Сообщение от MrSTEP (Сообщение 554890)
Если что - спрашивайте.

вопрос на будущее, если страниц списка будет много, как сделать так например [1] [2] [3] [4] [5] [next|далее] , нажимаем [далее] после этого:
[back|назад] [6] [7] [8] [9] [10] [next|далее] ?

MrSTEP 20.07.2011 11:13

Ну вы поняли, что мой пример работает скрытием/отображением блоков? Я думаю, ссылки с номерами тоже надо будет разбить на блоки, и при нажатии Вперед отображать следующий блок..

nightgremlin 20.07.2011 13:00

посмотрим что получиться. Вчера потрудился, скоро увидите что получилось

nightgremlin 27.07.2011 07:25

Вот можете посмотреть что получилось!

MrSTEP 27.07.2011 14:08

Ну вполне неплохо.


Часовой пояс GMT +4, время: 09:49.

Powered by vBulletin® Version 4.5.3
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.