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

Форум PHP

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

 

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

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

тема: Продолжение темы (построничная навигация)
 
 автор: dimonich2004   (09.02.2008 в 13:00)   письмо автору
 
 

http://www.softtime.ru/forum/read.php?id_forum=&id_theme=49454

код представленный на этом сайте[[[ http://www.softtime.ru/article/index.php?id_article=33 ]]]несовсем корректно работает НАПРИМЕР:
он берёт число ЗАПИСЕЙ в базе делит их на количество новостей на странице
к примеру 11 записей разделим на количество новостей на странице 3получается с округлением 4
- И В ЦИКЛЕ ВЫВОДИТ НОВОСТИ НА СТРАНИЦЕ В ИТОГЕ НА 4ОЙ СТРАНИЧЕ ОДНА НОВОСТЬ ПОЛУЧАЕТСЯ ПУСТОЙ!!!

или представьте 11 новостей и ставим выводить по 10 новостей на странице в итоге получается на 2й странице 9 ПУСТЫХ ЗАПИСЕЙ!!!!

   
 
 автор: cheops   (09.02.2008 в 13:26)   письмо автору
 
   для: dimonich2004   (09.02.2008 в 13:00)
 

Исправить можно так. Или вообще воспользоваться альтернативными реализациями в темах по ссылкам
http://www.softtime.ru/forum/read.php?id_forum=3&id_theme=3555
http://www.softtime.ru/forum/read.php?id_forum=1&id_theme=3044

   
 
 автор: dimonich2004   (09.02.2008 в 15:54)   письмо автору
 
   для: cheops   (09.02.2008 в 13:26)
 

попробуем's....(спасиб!)

   
 
 автор: dimonich2004   (11.02.2008 в 12:13)   письмо автору
 
   для: dimonich2004   (09.02.2008 в 15:54)
 

Взял за пример код Постраничноц навигации:

<?php
// конектимся с базе
    
include ("BLOCKS/connect.php");
$query "SELECT * FROM news"
$result mysql_query($query); 
$num_rows mysql_num_rows($result); 
$num=4
 
print(
"<br>".$page."<br>"); 
print(
$num_rows); 
$total=$num_rows/$num
$total=ceil($total); 
print(
$total); 
print(
$total); 
// Если значение $page меньше единицы или отрицательно 
// переходим на первую страницу 
// А если слишком большое, то переходим на последнюю 
if(empty($page) or $page 0$page 1
  if(
$page $total$page $total
  
$start $page $num $num
  
$result mysql_query("SELECT * FROM news LIMIT $start$num"); 
 
// В цикле переносим результаты запроса в массив $postrow 
 
$postrow=array(); 
 while ( 
$postrow[] = mysql_fetch_array($result)) 
echo 
"<table>"

// Выводим новости в цикле
for($i 0$i $num$i++) 
{
if (isset(
$postrow[$i]["id"]))
{
printf ("<hr>
    <table border='0' width='100&#37' class='left'>
    
    <tr>
    <td align='left'>
    <a href='news-full.php?id=%s'</a><p class='news-name'>%s</p>
    </td>
      </tr>
    </table>
    
    <table border='0' width='100&#37' class='left'>
    <tr>
    <td align='center'>
    <img src='UserFiles/IMAGE/%s' border='0' width='100' height='100' align='texttop' alt='%S'>
    </td>
    </tr>
    </table>
    
    <table border='0' width='100&#37' class='left'>
    <tr>
    <td align='center' class='main_border'>
    <p>%s</p>
    </td>
    </tr>
    </table>
    
    <table border='0' width='100&#37' class='left'>
    <tr>
    <td alight='left'>
    <a href='news-full.php?id=%s'</a>
    <p class='news-data'>подробней...</p>
    </td>
    <td align='right'>
    <p class='news-data'>дата: %s<p>
    </td>
    </tr>
      </table>
    <hr>***
    "
,$postrow[$i]["id"],$postrow[$i]["news_name"],$postrow[$i]["img_n"],$postrow[$i]["news_name"],$postrow[$i]["text_s"],$postrow[$i]["id"],$postrow[$i]["news_date"]); 
}; } 
echo 
"<br><br>"// Отступ
//Теперь надо организовать навигацию. Формируем составляющие будущей навигации. 
//Коды стрелки «в начало» и «назад» поместим в одну переменную, также поступим и со стрелками «в конец» и «вперед». 
// Проверяем нужны ли стрелки назад 
if ($page != 1$pervpage "<a href=news.php?page=1><<</a> 
                                   <a href=news.php?page="
. ($page 1) ."><</a> "
// Проверяем нужны ли стрелки вперед 
if ($page != $total$nextpage " <a href=news.php?page=". ($page 1) .">></a> 
                                   <a href=news.php?page=" 
.$total">>></a>"
// Находим две ближайшие станицы с обоих краев, если они есть 
if($page 0$page3left " <a href=news.php?page=". ($page 3) .">". ($page 3) ."</a> | "
if(
$page 0$page2left " <a href=news.php?page=". ($page 2) .">". ($page 2) ."</a> | "
if(
$page 0$page1left "<a href=news.php?page=". ($page 1) .">". ($page 1) ."</a> | "
if(
$page <= $total$page2right " | <a href=news.php?page=". ($page 3) .">". ($page 3) ."</a>"
if(
$page <= $total$page2right " | <a href=news.php?page=". ($page 2) .">". ($page 2) ."</a>"
if(
$page <= $total$page1right " | <a href=news.php?page=". ($page 1) .">". ($page 1) ."</a>"
// Вывод меню 
@print($pervpage.$page3left.$page2left.$page1left."<b>".$page."</b>".$page1right.$page2right.$page3right.$nextpage)."<br>";
>?

в принципе он работает Но меня не устраивает то что последние добавленные новости в базу выводяццо на последней странице ((((
пожалуста наведите на МЫСЛЬ как организовать вывод последних новостей на первой странице - беря в основу этот код:!?

   
 
 автор: ok computer   (11.02.2008 в 12:22)   письмо автору
 
   для: dimonich2004   (11.02.2008 в 12:13)
 

SELECT * FROM news order by news_date DESC LIMIT $start, $num 

   
 
 автор: dimonich2004   (11.02.2008 в 12:34)   письмо автору
 
   для: ok computer   (11.02.2008 в 12:22)
 

при таком поставлении получееться такой вывод

Страница (1) (2) (3)
-------------------------------------------------------
6 2 1
7 3
8 4
9 5

=======================================
а меня интересует постановка в такой очереди


Страница (1) (2) (3)
-------------------------------------------------------
9 5 1
8 4
7 3
6 2

- как мне кажеться это надо менять цыкл вывода новостей или цикл выбрки из базы?!

   
Rambler's Top100
вверх

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