Перейти к содержанию
СофтФорум - всё о компьютерах и не только

Генерация номера страницы


Рекомендуемые сообщения

Проблема в следующем, передаю по ссылке на страницу вывода номенклатуры, данные об "id" и "name":

<a  href="'.$page[$t['group_production']].'?id='.$t['id'].'&name='.$t['name'].'">'.$t['name'].'</a>

В результате попадаю всегда на 1-ю страницу вывода наименований, где у меня организована постраничная навигация. Т.е. как я понимаю нужно сделать так:

<a  href="'.$page[$t['group_production']].'?page='здесь должен генерироваться номер страницы совпадающий со значениями id и name'&id='.$t['id'].'&name='.$t['name'].'">'.$t['name'].'</a>

Вопрос собственно в том, как сделать генерацию необходимых номеров страниц?

Ссылка на комментарий
Поделиться на другие сайты

Вот пример кода выводящий список страниц со ссылками.

	function panel($cnt, $page, $cperpage, $addon){	$pgs = intval($cnt / $cperpage);	if ($pgs * $cperpage != $cnt)		$pgs++;	if ($pgs == 1)		return "";	if ($page > $pgs)		$page = 1;	if ($cnt <= $cperpage - 1)		return "";	$ww = $page + 1;	$www = $page - 1;	if ($page == 1)		$P = "";	else		$P = "<A href=\"?page=1{$addon}\"><B><</B></A> <A href=\"?page={$www}{$addon}\"><B><<</B></A> | ";	if ($page == $pgs)		$N = "";	else		$N = " | <A href=\"?page={$ww}{$addon}\"><B>>></B></A> <A href=\"?page={$pgs}{$addon}\"><B>></B></A>";	$table = " {$P} Страницы ({$pgs}):";	if ($pgs > 20)	{		$startp = $page - 10;		$endp = $page + 10;		if ($startp < 1)			$startp = 1;		if ($endp > $pgs)			$endp = $pgs;	}	else	{		$startp = 1;		$endp = $pgs;	}	for ($i = $startp; $i <= $endp; $i++)	{		if ($page != $i)			$table .= " <A href=\"?page={$i}{$addon}\">{$i}</A>";		else			$table .= " {$i}";	}	$table .= "{$N}";	return $table;}

Количество страниц можно определить как количество_наименований / наименований_на_страницу.

Соответственно выводить надо все наименования, начиная с ($page - 1) * $NAMES_PER_PAGE и заканчивая min($page * $NAMES_PER_PAGE, $TOTAL_NAMES);

Ссылка на комментарий
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...