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

Форум PHP

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

 

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

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

тема: вопросы по постраничной навигации
 
 автор: Bvz   (17.12.2008 в 21:38)   письмо автору
 
 

вот немного модифицировал скрипт постраничной навигации для того, чтоб каждый раз не прописавыть имя страницы
<div class="content">
<?php
if (!defined("NET"))die();

echo 
"<div id=\"write\"><a href=\"write.php\">написать сообщение</a></div>";
include 
"db/dbconnect.php";

$url=$_SERVER['PHP_SELF'];
$filename basename($url);
$_SESSION['url'] = "$filename";

$num 5;

$page $_GET['page'];

$result = @mysql_query("SELECT COUNT(*) FROM guestbook");
$posts = @mysql_result($result,0);
    if(!isset(
$posts) || $posts == 0) {
        echo 
"Нет сообщений";
    }
    else {
        
$total intval(($posts 1) / $num) + 1;
        
$page intval($page);

        if(empty(
$page) or $page 0$page 1;

        if(
$page $total$page $total;

        
$start $page $num $num;
        
$result = @mysql_query("SELECT * FROM guestbook ORDER BY id_guestbook DESC LIMIT $start$num");

        echo 
"<div id=\"content\">";

        while ( 
$postrow[] = @mysql_fetch_array($result));

    for(
$i 0$i $num$i++)
        {
        if (isset(
$postrow[$i]['id_guestbook'])) {
            echo 
"<table class=\"message\" cellpadding=\"10px\" cellspacing=\"0\" border=\"0\" >";

            
$name $postrow[$i]['name'];
            
$name htmlspecialchars(stripslashes($name));
            
$name str_replace("'","`",$name);
            echo 
"<tr><td class=\"name\"><strong>имя:&nbsp;</strong><i>".$name."</i></td></tr>";

            
$city $postrow[$i]['city'];
            
$city htmlspecialchars(stripslashes($city));
            
$city str_replace("'","`",$city);
            echo 
"<tr><td class=\"city\"><strong>город:&nbsp;</strong><i>".$city."</i></td></tr>";

            
$message $postrow[$i]['message'];
            
$message htmlspecialchars(stripslashes($message));
            
$message str_replace("'","`",$message);
            echo 
"<tr><td class=\"message\"><strong>сообщение:&nbsp;</strong><br /><i>".$message."</i></td></tr>";

            
$date_message $postrow[$i]['date_message'];
            echo 
"<tr><td class=\"d_m\"><strong>от:&nbsp;</strong><br /><i>".$date_message."</i></td></tr>";

            
$answer $postrow[$i]['answer'];
            
$answer htmlspecialchars(stripslashes($answer));
            
$answer str_replace("'","`",$answer);
            echo 
"<tr><td class=\"answer\"><strong>ответ:&nbsp;</strong><br /><i>".$answer."</i></td></tr>";

            
$date_answer $postrow[$i]['date_answer'];
            echo 
"<tr><td class=\"d_a\"><strong>от:&nbsp;</strong><br /><i>".$date_answer."</i></td></tr>";

            echo 
"</table>";
        }
    }
    echo 
"</div>

    <div align=\"center\" class=\"pag\">"
;
    if (
$page != 1$pervpage '<a class="pag" href= ./'.$filename.'?page=1><<</a>
                                 <a class="pag" href= ./'
.$filename.'?page='. ($page 1) .'><</a> ';

    if (
$page != $total$nextpage ' <a class="pag" href= ./'.$filename.'?page='. ($page 1) .'>></a>
                                       <a class="pag" href= ./'
.$filename.'?page=' .$total'>>></a>';

    if(
$page 0$page2left ' <a class="pag" href= ./'.$filename.'?page='. ($page 2) .'>'. ($page 2) .'</a> ';
    if(
$page 0$page1left ' <a class="pag" href= ./'.$filename.'?page='. ($page 1) .'>'. ($page 1) .'</a> ';

    if(
$page <= $total$page2right ' <a class="pag" href= ./'.$filename.'?page='. ($page 2) .'>'. ($page 2) .'</a>';
    if(
$page <= $total$page1right ' <a class="pag" href= ./'.$filename.'?page='. ($page 1) .'>'. ($page 1) .'</a>';

    echo 
$pervpage.$page2left.$page1left.'<b> &nbsp;' .$page'&nbsp; </b>'.$page1right.$page2right.$nextpage;
    }
?>
</div>


так можно делать?
и еще а как его можно модифицировать до функции или класа?

  Ответить  
 
 автор: Николай2357   (17.12.2008 в 22:20)   письмо автору
 
   для: Bvz   (17.12.2008 в 21:38)
 

Ну вот вариант. Тут, на форуме собрал.
<?php
include("config.php");
$num 10;
function 
list_page($num)
{
$page = isset($_GET['page'])?$_GET['page']:null
$result mysql_query("SELECT COUNT(*) AS cnt FROM `table` ");  
$posts mysql_result($result,0,'cnt');  
$total intval(($posts 1) / $num) + 1;   
$page intval($page);   
if(empty(
$page) or $page 0$page 1;  
    if(
$page $total$page $total;  
    
$start $page $num $num;

$res mysql_query("SELECT * FROM `table` ORDER BY `id` DESC LIMIT ".$start.", ".$num."");
while ( 
$postrow[] = mysql_fetch_array($res));

$table "<table>";  
    for(
$i 0$i $num$i++)  
    {  
    
$table .= "<tr> 
         <td>"
.$postrow[$i]['text1']."</td> 
         <td>"
.$postrow[$i]['text2']."</td></tr>";  
    } 
    
        for (
$tt=1;$tt<=$total;$tt++)
        {
        
$l1=$tt*$num-$num+1;
        
$l2=$tt*$num;
        
            if(
$page == $tt )
            
$menu.= "<b>[".$l1."-".$l2."]</b>";
            else 
            
$menu.="<a href='?page=".$tt."' />[".$l1."-".$l2."]</a>";
        }
    
$table .= "<tr><td colspan='2' style='text-align:center' >".$menu."</td></tr>
</table>"
;
    return 
$table;
}
echo 
list_page($num);

  Ответить  
 
 автор: Bvz   (17.12.2008 в 22:28)   письмо автору
 
   для: Николай2357   (17.12.2008 в 22:20)
 

спасибо буду изучать ))

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

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