1

Тема: подскажите у меня проблема с постраничной навигацией вот код

<?php
include ("blocks/bd.php");
$result = mysql_query ("SELECT id,title,description,author,date FROM medical_articles",$db);
$myrow = mysql_fetch_array ($result);
  ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />
<title><?php echo $myrow['title']; ?></title>
<link href="style.css" rel="stylesheet" type="text/css" /></head>
<meta name="keywords" content="<?php echo $myrow['meta_k']; ?> " />
<meta name="description" content="<?php echo $myrow['meta_d']; ?>" />
<body>
<table width="860" border="0" align="center" class="main_border">
<? include ("blocks/header.php");   ?>
  <tr>
    <td height="219"><table width="860" border="0">
      <tr>
        <? include ("blocks/lefttd.php") ;   ?>
        <td width="660" valign="top" bgcolor="#F6F6F6">
          <p><?php echo $myrow['text']; ?></p>
   <?php   
$result77 = mysql_query("SELECT str FROM options", $db);
$myrow77 = mysql_fetch_array($result77);
$num = $myrow77["str"];
@$page = $_GET['page'];
$result00 = mysql_query("SELECT COUNT(*) FROM medical_articles WHERE id='$id'");
$temp = mysql_fetch_array($result00);
$posts = $temp[0];
$total = (($posts - 1) / $num) + 1;
$total =  intval($total);
$page = intval($page);
if(empty($page) or $page < 0) $page = 1;
if($page > $total) $page = $total;
$start = $page * $num - $num;
$result = mysql_query("SELECT id,title,description,date,author FROM medical_articles WHERE id='$id' ORDER BY id LIMIT $start, $num",$db);
  do
  {       
              printf ("<table align='center' class='articles'>
            <tr>
            <td class='articles_title'><p class='articles_name'><a href='view3_articles.php?id=%s'>%s</a></p>
            <p class='articles_adds'>Дата добавления: %s</p>
            <p class='articles_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));   
if ($page != 1) $pervpage = '<a href=view3_articles.php?id='.$id.'&page=1>Первая</a> | <a href=view3_articles.php?id='.$id.'&page='. ($page - 1) .'>Предыдущая</a> | ';
if ($page != $total) $nextpage = ' | <a href=view3_articles.php?id='.$id.'&page='. ($page + 1) .'>Следующая</a> | <a href=view3_articles.php?id='.$id.'&page=' .$total. '>Последняя</a>';
if($page - 5 > 0) $page5left = ' <a href=view3_articles.php?id='.$id.'&page='. ($page - 5) .'>'. ($page - 5) .'</a> | ';
if($page - 4 > 0) $page4left = ' <a href=view3_articles.php?id='.$id.'&page='. ($page - 4) .'>'. ($page - 4) .'</a> | ';
if($page - 3 > 0) $page3left = ' <a href=view3_articles.php?id='.$id.'&page='. ($page - 3) .'>'. ($page - 3) .'</a> | ';
if($page - 2 > 0) $page2left = ' <a href=view3_articles.php?id='.$id.'&page='. ($page - 2) .'>'. ($page - 2) .'</a> | ';
if($page - 1 > 0) $page1left = '<a href=view3_articles.php?id='.$id.'&page='. ($page - 1) .'>'. ($page - 1) .'</a> | ';
if($page + 5 <= $total) $page5right = ' | <a href=view3_articles.php?id='.$id.'&page='. ($page + 5) .'>'. ($page + 5) .'</a>';
if($page + 4 <= $total) $page4right = ' | <a href=view3_articles.php?id='.$id.'&page='. ($page + 4) .'>'. ($page + 4) .'</a>';
if($page + 3 <= $total) $page3right = ' | <a href=view3_articles.php?id='.$id.'&page='. ($page + 3) .'>'. ($page + 3) .'</a>';
if($page + 2 <= $total) $page2right = ' | <a href=view3_articles.php?id='.$id.'&page='. ($page + 2) .'>'. ($page + 2) .'</a>';
if($page + 1 <= $total) $page1right = ' | <a href=view3_articles.php?id='.$id.'&page='. ($page + 1) .'>'. ($page + 1) .'</a>';
if ($total > 1)
{
Error_Reporting(E_ALL & ~E_NOTICE);
echo "<div class=\"pstrnav\">";
echo $pervpage.$page5left.$page4left.$page3left.$page2left.$page1left.'<b>'.$page.'</b>'.$page1right.$page2right.$page3right.$page4right.$page5right.$nextpage;
echo "</div>";
}
?>                    
         </td>
      </tr>
    </table></td>
  </tr>
  <? include ("blocks/footer.php") ;  ?>
</table>
</body>
</html>

2

Re: подскажите у меня проблема с постраничной навигацией вот код

bilter
В чем именно проблема? Если выводятся ошибки, то какие? Если что-то не работает, то что именно?

3

Re: подскажите у меня проблема с постраничной навигацией вот код

вот здесь  Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in Z:\home\localhost\www\phpsite\medical_articles.php on line 52

4

Re: подскажите у меня проблема с постраничной навигацией вот код

while ($myrow = mysql_fetch_array ($result));

Сообщение добавлено Tue Oct  6 23:02:06 2009
я даже не знаю в чем здесь проблема вроде все ок а все равно выдает ошибку

5

Re: подскажите у меня проблема с постраничной навигацией вот код

bilter

// Проверьте ошибку возвращаемую MySQL. После 37 строки добавьте:
if (!$result) exit(mysql_error());

// И еще одну строку надо добавить перед do, иначе первый цикл будет с пустыми переменными:
$myrow = mysql_fetch_array ($result);

6

Re: подскажите у меня проблема с постраничной навигацией вот код

спасибо я вставил в код но теперь выскакивает вот это
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '-7, 7' at line 1

7

Re: подскажите у меня проблема с постраничной навигацией вот код

bilter
Ошибка означает, что оператору LIMIT задано отрицательное число, что запрещено. Посмотрите внимательнее как формируется переменная $start.

8

Re: подскажите у меня проблема с постраничной навигацией вот код

большое спасибо за помощь