1

Тема: Нужна постраничная навигация

Всем добрый вечер!
Задача:
Есть страница lessons,php, в ней хранятся уроки, также есть база данных lessons. Необходимо вывести постраничную навигацию, чтобы выводилось по 5-10 уроков на странице. Бьюсь уже какой день, ну никак не получается решить задачу. Может Вы подскажите, код и куда надо вставить?
Вот сам код страницы:

<?php
include ("blocks/bd.php");/*Соединяемся с базой данных*/
$result = mysql_query("SELECT title,meta_d,meta_k,text From settings WHERE page='lessons'",$db);
$myrow = mysql_fetch_array($result);
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<title><?php echo $myrow['title']; ?></title>
<link rel="stylesheet" type="text/css" href="style.css">
</head>
<meta name="description" content="<?php echo $myrow['meta_d']; ?> ">
<meta name="keywords" content="<?php echo $myrow['meta_k']; ?>">
<body>
<table width="100%" border="0" align="center" cellpadding="0" cellspacing="0" class="main_border">
  <? include("blocks/header.php"); ?>
  <tr>
    <td><table width="100%" border="0" cellspacing="0" cellpadding="0">
      <tr>
 <? include ("blocks/lefttd.php"); ?>       
        <td width="1081" align="left" valign="top"><table width="100%" border="0" cellspacing="0" cellpadding="0">
            <tr>
              <td><?php echo $myrow['text']; ?>
           
              <?php 
              $result = mysql_query ("SELECT id,title,description,author,date FROM lessons",$db);
              $myrow = mysql_fetch_array ($result);
              
do {              
              
printf ("<table align='center' class='lessons'>

         <tr>
         <td class='lessons_title'><p class='lessons_name'><a href='view_lessons.php?id=%s'>%s</a>
</p>
         <p class='lessons_adds'>Дата добавления: %s</p>
         <p class='lessons_adds'>Автор урока: %s</p></td>
         </tr>
         
         <tr>
         <td>%s</td>
         </tr>
         
         </table><br><br>",$myrow["id"],$myrow["title"],$myrow["date"],$myrow["author"],$myrow["description"]);
         
                
}
while ($myrow = mysql_fetch_array ($result));
?>               
                
                
                <p> </p>
                <p> </p></td>
            </tr>
          </table></td>
      </tr>
    </table></td>
  </tr>
  <? include ("blocks/footer.php"); ?>
</table>
</body>
</html>
Всем спасибо за ответы!

2

Re: Нужна постраничная навигация

romanych
Посмотрите здесь: http://forum.php-myadmin.ru/viewtopic.p … 8971#p8971

Если не получится разобраться - скажите.

3

Re: Нужна постраничная навигация

Hanut сказал:

romanych
Посмотрите здесь: http://forum.php-myadmin.ru/viewtopic.p … 8971#p8971

Если не получится разобраться - скажите.

Я делал по этому примеру, но не получается.
Если нужны какие ошибки появляются, то скажу.

4

Re: Нужна постраничная навигация

romanych

<?php
$items_per_page = 5; // Количество элементов на странице
include ("blocks/bd.php");/*Соединяемся с базой данных*/
$result = mysql_query("SELECT title,meta_d,meta_k,text From settings WHERE page='lessons'",$db);
$myrow = mysql_fetch_array($result);
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<title><?php echo $myrow['title']; ?></title>
<link rel="stylesheet" type="text/css" href="style.css">
</head>
<meta name="description" content="<?php echo $myrow['meta_d']; ?> ">
<meta name="keywords" content="<?php echo $myrow['meta_k']; ?>">
<body>
<table width="100%" border="0" align="center" cellpadding="0" cellspacing="0" class="main_border">
  <? include("blocks/header.php"); ?>
  <tr>
    <td><table width="100%" border="0" cellspacing="0" cellpadding="0">
      <tr>
 <? include ("blocks/lefttd.php"); ?>       
        <td width="1081" align="left" valign="top"><table width="100%" border="0" cellspacing="0" cellpadding="0">
            <tr>
              <td><?php echo $myrow['text']; ?>
           
<?php 

$result_count = mysql_query('SELECT COUNT(*) AS `count` FROM `lessons`', $db);
$aCount = mysql_fetch_assoc($result_count);

$iPages = ceil($aCount['count'] / $items_per_page);
$page = (isset($_GET['page']) && $_GET['page'] <= $aCount['count']) ? $_GET['page'] : 1;
$iOffsetLimit = ($page - 1) * $items_per_page;
$iStart = ($page > 5) ? $page - 4 : 1;
if ($iPages > 1) {
    echo '<div>Страницы: ';
    for ($i = $iStart; $i <= $iPages; $i++) {
        if ($page > 4 && $i == $page - 4) {
            echo '<a href="?page=' . $i . '">...</a>' . "\n";
            continue;
        }
        if ($i > $page + 3) {
            echo '<a href="?page=' . $i . '">...</a>' . "\n";
            break;
        }
        if ($i == $page) {
            echo ' <span style="font-weight: bold;"> ' . $i . ' </span> ' . "\n";
        } else {
            echo '<a href="?page=' . $i . '">' . $i . '</a>' . "\n";
        }
       }
    echo '</div>' . "\n";
}

$result = mysql_query('SELECT `id`,`title`,`description`,`author`,`date` FROM `lessons` ORDER BY `date` DESC, `id`
                       LIMIT ' . $iOffsetLimit . ',' . $items_per_page, $db);
$myrow = mysql_fetch_array ($result);
              
do {              
              
printf ("<table align='center' class='lessons'>

         <tr>
         <td class='lessons_title'><p class='lessons_name'><a href='view_lessons.php?id=%s'>%s</a>
</p>
         <p class='lessons_adds'>Дата добавления: %s</p>
         <p class='lessons_adds'>Автор урока: %s</p></td>
         </tr>
         
         <tr>
         <td>%s</td>
         </tr>
         
         </table><br><br>",$myrow["id"],$myrow["title"],$myrow["date"],$myrow["author"],$myrow["description"]);
         
                
}
while ($myrow = mysql_fetch_array ($result));
?>               
                
                
                <p> </p>
                <p> </p></td>
            </tr>
          </table></td>
      </tr>
    </table></td>
  </tr>
  <? include ("blocks/footer.php"); ?>
</table>
</body>
</html>

5 (изменено: Hanut, 2010-04-15 00:28:08)

Re: Нужна постраничная навигация

Большое Вам спасибо!!!
Все заработало, ура!!!