|
 212.2 Кб |
|
| Нашел на сайте softtime.info скрипт постраничного вывода новостей и немного подредактировал под себя подскажите что я сделал не так см скрин. Тоесть вывод цыфер хрен знает где с верху и не переадресовывает на следущюю страницу хотя показывает что есть 2 страницы
<?php
function index_page()
{
$host='localhost';
$login='root';
$password='';
$db='webcms';
($link=@mysql_connect($host,$login,$password)) || die('Не удалось подключиться к мускул');
mysql_select_db($db,$link) or die('Не удалось обнаружить базу данных');
// Переменная хранит число сообщений выводимых на станице
$num = 2;
// Извлекаем из URL текущую страницу
/*$page = $_GET['page']; */
// Определяем общее число сообщений в базе данных
$result = mysql_query("SELECT COUNT(*) FROM news");
$posts = mysql_result($result, 0);
// Находим общее число страниц
$total = intval(($posts - 1) / $num) + 1;
// Определяем начало сообщений для текущей страницы
$page = intval($page);
// Если значение $page меньше единицы или отрицательно
// переходим на первую страницу
// А если слишком большое, то переходим на последнюю
if(empty($page) or $page < 0) $page = 1;
if($page > $total) $page = $total;
// Вычисляем начиная к какого номера
// следует выводить сообщения
$start = $page * $num - $num;
// Выбираем $num сообщений начиная с номера $start
$result_index = mysql_query("SELECT * FROM news LIMIT $start, $num");
// В цикле переносим результаты запроса в массив $postrow
$myrow_index = mysql_fetch_array($result_index);
if($myrow_index != "")
{
$sm_read = file("tpl/news.html");
$sm_read = implode("",$sm_read);
do
{
$edd_tamp = $sm_read;
$text = explode("[end]",$myrow_index[text]);//идентификатор в тексте показывающий,
$edd_tamp = str_replace("[_text]",$text[0],$edd_tamp);//Текст
$edd_tamp = str_replace("[_title]",$myrow_index[title],$edd_tamp);//Название статьи
$edd_tamp = str_replace("[_id]",$myrow_index[id],$edd_tamp);//id статьи, для вывода в полной статьи
$edd_tamp = str_replace("[_author]",$myrow_index[author],$edd_tamp);//Автор статьи
$edd_tamp = str_replace("[_date_b]",$myrow_index[date_b],$edd_tamp);//Дата размещения
$news .= $edd_tamp;// Склеиваем весь с генерированный код в одну переменную
}
while($myrow_index = mysql_fetch_array($result_index));
}
if($total > 0)
{
if ($page != 1) $pervpage = '<a href= .?page=1><<</a>
<a href= .?page='. ($page - 1) .'><</a> ';
// Проверяем нужны ли стрелки вперед
if ($page != $total) $nextpage = ' <a href= .?page='. ($page + 1) .'>></a>
<a href= .?page=' .$total. '>>></a>';
// Находим две ближайшие станицы с обоих краев, если они есть
if($page - 2 > 0) $page2left = ' <a href= .?page='. ($page - 2) .'>'. ($page - 2) .'</a> | ';
if($page - 1 > 0) $page1left = '<a href= .?page='. ($page - 1) .'>'. ($page - 1) .'</a> | ';
if($page + 2 <= $total) $page2right = ' | <a href= .?page='. ($page + 2) .'>'. ($page + 2) .'</a>';
if($page + 1 <= $total) $page1right = ' | <a href= .?page='. ($page + 1) .'>'. ($page + 1) .'</a>';
// Вывод меню
echo $pervpage.$page2left.$page1left.'<b>'.$page.'</b>'.$page1right.$page2right.$nextpage;
}
else $news = "<p align='center'>Нет записей в базе данных</p>";//Если записей нет, то вывести это сообщение
return $news;
}
?>
|
| |
|
|
|
|
|
|
|
для: skydemon
(10.09.2012 в 22:21)
| | Почему сверху, это вы со своим шаблоном разбирайтесь, а вот почему нет переходов - а вы что за адрес видите при наведении мыши на ссылку? | |
|
|
|
|
|
|
|
для: confirm
(10.09.2012 в 22:58)
| | test1.ru?page=2 | |
|
|
|
|
|
|
|
для: skydemon
(10.09.2012 в 23:46)
| | cмотри вобщем переход выполняется но новости остаются на прежнем месте ну как выводились 2 первые так и выводятся | |
|
|
|
|
|
|
|
для: skydemon
(10.09.2012 в 23:49)
| | ой я дебил сори у мя закоментирована переменная $_GET['page']; | |
|
|
|
|
|
|
|
для: skydemon
(10.09.2012 в 23:46)
| | href= .?page - будет указывать на корневую паку документов, то есть domain/?page=2
а
href= ?page - будет указывать на script_name.php/?page=2
с чего это у вас получается
test1.ru?page=2 - ? | |
|
|
|
|
|
|
|
для: confirm
(11.09.2012 в 00:20)
| | да) уже все работает) правдо теперь с выводом самого поля не получаеться не в шаблоне дело почемуто в любом выводиться в верху | |
|
|
|
|
|
|
|
для: confirm
(11.09.2012 в 00:20)
| | у мя вывод по другому немного
вот так на индексной вывожу модуль
<?
if($_GET['news'])$news = $_GET['news'];
if(!$news)
{
include("news.php");
$content = index_page();
}
if($news)
{
include("text.php");
$content = news($news);
}
##############################################################################
# themes #####################################################################
/*
<?php echo $this->title?>
<?php echo $this->content?>
*/
$view = new themes('/tpl/');
$view->set('title', $title);
$view->set('content', $content);
$view->display('index.html');
##############################################################################
|
| |
|
|
|
|
|
|
|
для: skydemon
(11.09.2012 в 14:34)
| | РНР выдаст ваш навигатор в потоке в том порядке, как вы указали, а заниматься размещением на его странице, это не его забота. Если вы неверно определили местоположение в шаблоне во время вывода, значит измените это место. | |
|
|
|