выполняется
если
switch("$_GET[l]"){
case "prima":
тут постраничный вывод из базы
со ссылками типа
if (($begin > 2) && !isset($show_dots) && ($pages_count - $show_link > 2)) {
echo '<a '.$style.' href='.$_server['php_self'].'?prima&page=1> |< </a> ';
}
end
в итоге после нажатия на ссылку страница становится пустой. Имя то уже поменялось!
как подогнать эти ссылки?
Спустя 1 час, 3 минуты, 49 секунд (1.03.2012 - 22:31) walerus написал(а):
$_server пишется $_SERVER, большими буквами и поясни, что именно у тебя не получается ?
Спустя 3 минуты, 15 секунд (1.03.2012 - 22:34) intreb написал(а):
у меня
а скрипт постраничной навигации генерирует ссылки
то есть
case "prima":
а скрипт постраничной навигации генерирует ссылки
?prima&page=1
то есть
case "prima":и
?prima&page=1не одно и тоже. результата я не вижу
Спустя 5 минут, 37 секунд (1.03.2012 - 22:40) sergeiss написал(а):
Вот этим выражением ты что хотел сказать???
Цитата (intreb @ 1.03.2012 - 22:27) |
switch("$_GET[l]") |
Плюс к этому, покажи более полный код, а не какую-то абстрактную часть.
Спустя 3 минуты, 51 секунда (1.03.2012 - 22:43) intreb написал(а):
<?
include "conf_sql.php";
switch("$_GET[l]"){
case "prima":
function universal_link_bar($page, $count, $pages_count, $show_link)
{
// $show_link - это количество отображаемых ссылок;
// нагляднее будет, когда это число будет парное
// Если страница всего одна, то вообще ничего не выводим
if ($pages_count == 1) return false;
$sperator = ' '; // Разделитель ссылок; например, вставить "|" между ссылками
// Для придания ссылкам стиля
$style = 'style="color: #808000; text-decoration: none;"';
$begin = $page - intval($show_link / 2);
unset($show_dots); // На всякий случай :)
// Сам постраничный вывод
// Если количество отображ. ссылок больше кол. страниц
if ($pages_count <= $show_link + 1) $show_dots = 'no';
// Вывод ссылки на первую страницу
if (($begin > 2) && !isset($show_dots) && ($pages_count - $show_link > 2)) {
echo '<a '.$style.' href='.$_server['php_self'].'?prima&page=1> |< </a> ';
}
for ($j = 0; $j < $page; $j++) {
// Если страница рядом с концом, то выводить ссылки перед идущих для того,
// чтобы количество ссылок было постоянным
if (($begin + $show_link - $j > $pages_count) && ($pages_count-$show_link + $j > 0)) {
$page_link = $pages_count - $show_link + $j; // Номер страницы
// Если три точки не выводились, то вывести
if (!isset($show_dots) && ($pages_count-$show_link > 1)) {
echo ' <a '.$style.' href='.$_server['php_self'].'?prima&page='.($page_link - 1).'><b>...</b></a> ';
// Задаем любое значение для того, чтобы больше не выводить в начале "..." (три точки)
$show_dots = "no";
}
// Вывод ссылки
echo ' <a '.$style.' href='.$_server['php_self'].'?prima&page='.$page_link.'>'.$page_link.'</a> '.$sperator;
} else continue;
}
for ($j = 0; $j <= $show_link; $j++) // Основный цикл вывода ссылок
{
$i = $begin + $j; // Номер ссылки
// Если страница рядом с началом, то увеличить цикл для того,
// чтобы количество ссылок было постоянным
if ($i < 1) {
$show_link++;
continue;
}
// Подобное находится в верхнем цикле
if (!isset($show_dots) && $begin > 1) {
echo ' <a '.$style.' href='.$_server['php_self'].'?prima&page='.($i-1).'><b>...</b></a> ';
$show_dots = "no";
}
// Номер ссылки перевалил за возможное количество страниц
if ($i > $pages_count) break;
if ($i == $page) {
echo ' <a '.$style.' ><b>'.$i.'</b></a> ';
} else {
echo ' <a '.$style.' href='.$_server['php_self'].'?prima&page='.$i.'>'.$i.'</a> ';
}
// Если номер ссылки не равен кол. страниц и это не последняя ссылка
if (($i != $pages_count) && ($j != $show_link)) echo $sperator;
// Вывод "..." в конце
if (($j == $show_link) && ($i < $pages_count)) {
echo ' <a '.$style.' href='.$_server['php_self'].'?prima&page='.($i+1).'><b>...</b></a> ';
}
}
// Вывод ссылки на последнюю страницу
if ($begin + $show_link + 1 < $pages_count) {
echo ' <form method=post action=?prima><input type=hidden<a '.$style.' href='.$_server['php_self'].'?prima&page='.$pages_count.'> >| </a>';
}
return true;
} // Конец функции
// Подготовка к постраничному выводу
$perpage = 5; // Количество отображаемых данных из БД
if (empty($_get['page']) || ($_get['page'] <= 0)) {
$page = 1;
} else {
$page = (int) $_get['page']; // Считывание текущей страницы
}
// Общее количество информации
$count = mysql_numrows(mysql_query('select * from invoices')) or die('error! Записей не найдено!');
$pages_count = ceil($count / $perpage); // Количество страниц
// Если номер страницы оказался больше количества страниц
if ($page > $pages_count) $page = $pages_count;
$start_pos = ($page - 1) * $perpage; // Начальная позиция, для запроса к БД
// Вызов функции, для вывода ссылок на экран
universal_link_bar($page, $count, $pages_count, 10);
// Вывод информации из базы данных
echo '<p><b>Постраничный вывод информации</b></p>';
$result = mysql_query('select * from invoices limit '.$start_pos.', '.$perpage) or die('error!');
while ($row = mysql_fetch_array($result)) {
echo '<p>'.$row['invno'].'</p>';
}
break;
?>
Спустя 6 часов, 25 минут, 20 секунд (2.03.2012 - 05:09) Visman написал(а):
intreb, вместо '?prima в ссылке пиши '?l=prima
Спустя 2 часа, 48 минут, 39 секунд (2.03.2012 - 07:57) sergeiss написал(а):
Цитата (intreb @ 1.03.2012 - 23:43) |
switch("$_GET[l]") |
Вот тут выкини кавычки. И более правильно будет написать $_GET('l')
Спустя 1 день, 4 часа, 14 минут, 20 секунд (3.03.2012 - 12:12) intreb написал(а):
спасибо