Задать вопрос

Где допущена ошибка в постраничном выводе?

подскажите пожалуйста где допущена ошибка , не работает постраничный вывод

setlocale(LC_ALL, "ru_RU.UTF-8");
	
	$links=file("../data/menu.csv");
    foreach ( $links as $key=>$value) 
	{
    $tt= explode('<|>',$value) ;
    $arrof[$tt[0]]=$tt[1];  	
   }
   
  $articles = glob("../data/content/*"); 
if(!$articles) echo ('<div style=\"padding:2px 0px 2px 20px;\">Нет ни одной страницы...</div>');
else
{
  
	//Сортируем по порядке
	natsort($articles);
	
	$articles_per_page = 10; // количество статей на странице
	// Ограничиваем количество ссылок, которые будут выводиться перед и
// после текущей страницы
	$limit_links=3;
	
	// Если значение page= не является числом, то показываем
// пользователю первую страницу
if(!is_numeric($page)) $page=1;

// Если пользователь вручную поменяет в адресной строке значение page= на нуль,
// то мы определим это и поменяем на единицу, то-есть отправим на первую
// страницу, чтобы избежать ошибки
if ($page<1) $page=1;

  // Узнаем количество всех доступных записей 
  $count_articles=count(@$articles);
  
// Вычисляем количество страниц, чтобы знать сколько ссылок выводить
$pages =  $count_articles/$articles_per_page;

// Округляем полученное число страниц в большую сторону
$pages = ceil($pages);

// Здесь мы увеличиваем число страниц на единицу чтобы начальное значение было
// равно единице, а не нулю. Значение page= будет
// совпадать с цифрой в ссылке, которую будут видеть посетители
$pages++; 

// Если значение page= больше числа страниц, то выводим первую страницу
if ($page>$pages) $page = 1;



// Переменная $list указывает с какой записи начинать выводить данные.
// Если это число не определено, то будем выводить
// с самого начала, то-есть с нулевой записи
if (!isset($list)) $list=0;

// Чтобы у нас значение page= в адресе ссылки совпадало с номером
// страницы мы будем его увеличивать на единицу при выводе ссылок, а
// здесь наоборот уменьшаем чтобы ничего не нарушить.
$list=--$page*$articles_per_page;

//получаем количество страниц
$article = ceil($count_articles / $articles_per_page);

// Выводим все записи текущей страницы
for ($i = 1; $i<=$count_articles; $i++) {

    foreach($articles as $article)
    {
        $content=file_get_contents($article);
        preg_match("|\/content\/(.*).php|Ui", $article, $matches);
        $file_id=$matches[1];
        preg_match("|page_4menu = '(.*)\'\;|Ui", $content, $matches1);
        $page_4menu=$matches1[1];
		preg_match("|page_descr = '(.*)\'\;|Ui", $content, $matches2);
        $page_descr=$matches2[1];
        preg_match("|page_title = '(.*)\'\;|Ui", $content, $matches3);
        $page_title=$matches3[1];
		preg_match("|page_img = '(.*)\'\;|Ui", $content, $matches4);
        $page_img=$matches4[1];
		
  
        {
        echo '<tr style="background-image: url(skin/image/bottom.jpg);">
                <td>&nbsp;'.$file_id.'</td>
                <td>&nbsp;&nbsp;<a href=/'.$arrof[$file_id].'.html target="_blank">'. $page_4menu .'</a></td>
<td>&nbsp;&nbsp;<div><a href='. $page_img .' class="highslide" onclick="return hs.expand(this)" ><img width="30" src="'. $page_img .'" title="'. $page_descr .'"></a><div class="highslide-caption">'. $page_descr .'</div></div></td>
                <td> <a href=edit.php?id='.$file_id.'><img src=skin/image/b_edit.png title="Редактировать"></a></td>
				<td>'."<a href=# onclick=\"confirmation('$file_id')\"><img src=skin/image/b_drop.png title=\"Удалить страницу\"></a></td></tr>";
      }

   }
    echo '<tr><td  colspan="5">';
   for($pr = '', $i =1; $i <= $count_articles; $i++)
    {
        echo $pr=(($i == 1 || $i == $count_articles || abs($i-$page) < $limit_links) ? ($i == $page ? "<span  style='font-size: 18px';><b>$i</b><span> | " : ' <a href="?page='.$i.'">'.$i.'</a> | ') : (($pr == ' ... ' || $pr == '')? '' : ' ... '));
    }
    echo '</td></tr>';
   }
}
  • Вопрос задан
  • 263 просмотра
Подписаться 1 Простой 3 комментария
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы