|
|
|
|
|
для: Julyi
(21.12.2005 в 09:40)
| | Что-то похожее недавно делали в теме http://www.softtime.ru/forum/read.php?id_forum=1&id_theme=10465 - посмотрите последний пост. | |
|
|
|
|
|
|
| Великие умы! Помогите, плиз! Нужно сделать ссылки на страницы в следующем виде:
[url]1,2,3...[/url]. При нажатии на ... должны появляться страницы [url]...4,5,6...[/url]. И так далее. Соответственно, если дальше ничего нет, то три точки не должны показываться. У меня сейчас сделано так:
// Извлекаем из строки запроса параметр start
if (isset($_GET['start']))
$start = $_GET['start'];
else $start = "";
// Стартовая точка
// Если значение переменной $start равно пустой строке присваиваем ей значение 0
if (empty($start)) $start = 0;
// Функция intval() преобразует переменную к целому типу
$start = intval($start);
// Так же не допускается отрицательное значение для этой переменной
if ($start < 0) $start = 0;
// Запрашиваем общее число отображаемых сообщейний
$query = "SELECT COUNT(*) FROM vsm_notebook";
$result_col = mysql_query($query);
$row_col = mysql_fetch_row($result_col); // строка результата
$quantity = $row_col[0]; // кол-во строк в базе
echo "<table border=0 width='100%'><tr><td><class=print><strong>Всего записей -
$quantity</strong></td></tr>";
//===== Подсчитываем количество страниц (Вариант 2). Функция ceil() округляет дробную часть
наверх
$count = ceil($quantity/$number);
echo "<tr><td><class=print><strong>Количество страниц - ".$count."</strong></td></tr>";
echo "<tr><td><class=print><strong>Страницы:</strong>";
// Выводим ссылки на предыдущие и следующие сообщения
if ($start > 0) echo "<A class=link href=notebook_form.php?start=".($start -
$number)."><<Предыдущие</A> ";
//==== Перебираем в цикле все страницы
for($link=1; $link <= $count; $link++):
// Рассчитываем точку выборки из базы данных
$PageStart = ($link - 1) * $number;
echo "<a class=link href=".getenv('PHP_SELF')."?start=".$PageStart.">".$link."</a>
";//--Формируем ссылки
endfor;
if ($quantity > $start + $number) echo "<A class=link
href=notebook_form.php?start=".($start + $number).">Следующие>></A>\n";
echo "</td></tr></table>";
|
| |
|
|
|
|