Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Ошибка логики в навигации
 
 автор: Alexo   (08.05.2011 в 22:07)   письмо автору
49 Кб
 
 

Понимаю что тема избитая и меня сейчас тоже изобьют :) но попытаюсь задать вопрос.
Есть у меня такой код:

<?php
if ($page 1$show .= "<a href='index.php?page=1'> В начало </a> <a href='index.php?page=". ($page 1) ."'> << </a>";
if (
$page 1$show .= "<a href='index.php?page=1'> 1 </a>...";
if (
$page 0$show .= "<a href='index.php?page=". ($page 3) ."'> ". ($page 3) ." </a>";
if (
$page 0$show .= "<a href='index.php?page=". ($page 2) ."'> ". ($page 2) ." </a>";
if (
$page 0$show .= "<a href='index.php?page=". ($page 1) ."'> ". ($page 1) ." </a>";
$show .= "<b>".$page."</b>";
if (
$page <= $total$show .= "<a href='index.php?page=". ($page 1) ."'> ". ($page 1) ." </a>";
if (
$page <= $total$show .= "<a href='index.php?page=". ($page 2) ."'> " . ($page 2) . " </a>";
if (
$page <= $total$show .= "<a href='index.php?page=". ($page 3) ."'> " . ($page 3) . " </a>";
if (
$page <= $total$show .= "...<a href='index.php?page="$total ."'> " $total " </a>";
if (
$page $total$show .= "<a href='index.php?page=". ($page 1) ."'> >> </a><a href='index.php?page="$total ."'> В конец </a>";

echo 
'<p>'.$show.'</p>';
?>

Проблема заключается в том, что при выводе навигации, между цифрами 1 и 2 вставляется многоточие, которое должно появляться только между 1 и 3. (На прикрепленном к сообщению снимке я показал эту ошибку)
Можно ли как-то исправить эту ошибку.

  Ответить  
 
 автор: cheops   (08.05.2011 в 23:14)   письмо автору
 
   для: Alexo   (08.05.2011 в 22:07)
 

А вы разделите логику вывода постраничной навигации и троеточий - сразу станет проще
<?php
  
if ($page 1$show .= "<a href='index.php?page=1'> В начало </a> <a href='index.php?page=". ($page 1) ."'> << </a>";
  if (
$page 1$show .= "<a href='index.php?page=1'> 1 </a>";
  if (
$page != 1$show .= "...";
  if (
$page 0$show .= "<a href='index.php?page=". ($page 3) ."'> ". ($page 3) ." </a>";
  if (
$page 0$show .= "<a href='index.php?page=". ($page 2) ."'> ". ($page 2) ." </a>";
  if (
$page 0$show .= "<a href='index.php?page=". ($page 1) ."'> ". ($page 1) ." </a>";
  
$show .= "<b>".$page."</b>";
  if (
$page <= $total$show .= "<a href='index.php?page=". ($page 1) ."'> ". ($page 1) ." </a>";
  if (
$page <= $total$show .= "<a href='index.php?page=". ($page 2) ."'> " . ($page 2) . " </a>";
  if (
$page <= $total$show .= "<a href='index.php?page=". ($page 3) ."'> " . ($page 3) . " </a>";
  if (
$page != $total$show .= "...";
  if (
$page <= $total$show .= "<a href='index.php?page="$total ."'> " $total " </a>";
  if (
$page $total$show .= "<a href='index.php?page=". ($page 1) ."'> >> </a><a href='index.php?page="$total ."'> В конец </a>";

  echo 
'<p>'.$show.'</p>';
?>

>и меня сейчас тоже изобьют :)
Этого можете не опасаться, тут приветствуется только конструктивный диалог, все остальное модераторы удаляют.

  Ответить  
 
 автор: Alexo   (09.05.2011 в 00:37)   письмо автору
 
   для: cheops   (08.05.2011 в 23:14)
 

Спасибо вам большое. Очень выручили.

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

Немного оффтопа: Спасибо вам за замечательные книги. Благодаря "Самоучителю PHP" я начал понимать этот язык программирования. После армии примусь за изучение книги "PHP. Практика создания Web-сайтов".

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования