Помогите пожалуйста разобраться в системе вывода информации из таблиц и разбиванием ее на страницы. Вот написал код, но почему то не переходит на вторую и следующие страницы. Можете исправить ошибку и обьяснить в чем?
<?php
function pages($page, $pages_count)
{
for ($j = 1; $j <= $pages_count; $j++)
{
// Вывод ссылки
if ($j == $page) {
echo ' <a style="color: #808000;" ><b>'.$j.'</b></a> ';
} else {
echo ' <a style="color: #808000;" href=index.php?cwar=news&page='.$j.'>'.$j.'</a> ';
}
// Выводим разделитель после ссылки, кроме последней
// например, вставить "|" между ссылками
if ($j != $pages_count) echo ' ';
}
return true;
}
function news () {
$perpage = 10; // Количество отображаемых данных из БД
if (empty($_get['page']) || ($_get['page'] <= 0)) {
$page = 1;
} else {
$page = (int) $_get['page']; // Считывание текущей страницы
}
$count = mysql_numrows(mysql_query('select * from news')) or die('error! Записей не найдено!');
$pages_count = ceil($count / $perpage); // Количество страниц
// Если номер страницы оказался больше количества страниц
if ($page > $pages_count) $page = $pages_count;
$start_pos = ($page - 1) * $perpage; // Начальная позиция, для запроса к БД
// Вызов функции, для вывода ссылок на экран
pages($page, $pages_count);
// Вывод информации из базы данных
$result = mysql_query('select * from news ORDER BY id DESC limit '.$start_pos.', '.$perpage) or die('error!');
while ($row = mysql_fetch_array($result)) {
$n_id = $row['id'];
$clicks = "Просмотров: ".$row['clicks']."";
$title = $row['title'];
$date = $row['date'];
$stext = $row['stext'];
$text = $row['text'];
$rating = $row['rating'];
$cat1 = mysql_query("SELECT * FROM news_cats WHERE cat_id = '".$row['category']."'");
$cat = mysql_fetch_array($cat1);
$at = mysql_query("SELECT * FROM users WHERE id = '".$row[author]."'");
while ($atr = mysql_fetch_array($at)) {
$id = $atr['id'];
$author = "Автор: <a href='index.php?cwar=user&id=".$id."'>".$atr['login']."</a> ";
}
$itemID = $n_id;
$type = 'news';
$link = "?cwar=news&op=show&id=".$_GET['id']."";
$comnum = mysql_query("SELECT count(id) as num FROM comments WHERE type= '".$type."' AND itemID = ".$itemID."") or die(mysql_error());
$comnum = mysql_fetch_array($comnum);
$cnum = $comnum['num'];
echo "<table border= '1 ' width= '98% ' style='border-collapse: collapse' collspan'2'>
<tr>
<td background= 'http://cwar.lv/images/bg-bubplastic-h-blue.gif ' width= '100% ' colspan= '2 ' height= '25 ' class='title'>
<img src='".$cat['pic']. "'> <b>$title </b> (".$cnum.")</td>
</tr>
<tr>
<td bgcolor= '#e2e2e2 ' width= '98% ' colspan= '2 ' class= 'htd-text' >
<table width= '99% '>
<tr><td>$stext</tr></td></table></td>
</tr>
<tr bgcolor= '#e2e2e2 '>
<td width= '75% ' class= 'htd-text' >
<center>$clicks | $author | $date | Рейтинг: $rating</center></td>
<td width= '15% ' class= 'htd-text' ><center>
<b><a href='index.php?cwar=news&op=show&id=".$row['id']."'>Подробнее</a></b></center></td>
</tr>
</table>
<br>";
}
$res = mysql_query("SELECT * FROM news ORDER BY id DESC");
while ($row = mysql_fetch_array($res)) {
} }
function plus() {
global $userID;
$id = $_GET['id'];
$type = $_GET['cwar'];
mysql_query("INSERT INTO rating (userID, itemID, type) VALUES ('$userID', '$id', '$type')");
mysql_query("UPDATE news SET rating=rating+1 WHERE id = '$id'");
mysql_query("UPDATE news SET plus=plus+1 WHERE id = '$id'");
header("Location: ?cwar=news&op=show&id=".$id." ");
}
function minus() {
global $userID;
$id = $_GET['id'];
mysql_query("INSERT INTO rating (userID, itemID, type) VALUES ('$userID', '$id', 'ne')");
mysql_query("UPDATE news SET rating=rating-1 WHERE id = '$id'");
mysql_query("UPDATE news SET minus=minus+1 WHERE id = '$id'");
header("Location: ?cwar=news&op=show&id=".$id." ");
}
function show () {
global $userID;
$itemID = $_GET['id'];
$type = $_GET['cwar'];
$link = "?cwar=news&op=show&id=".$_GET['id']."";
$comnum = mysql_query("SELECT count(id) as num FROM comments WHERE type= '".$type."' AND itemID = ".$itemID."") or die(mysql_error());
$comnum = mysql_fetch_array($comnum);
$cnum = $comnum['num'];
mysql_query("UPDATE news SET clicks=clicks+1 WHERE id = '".$_GET['id']."'");
$res = mysql_query("SELECT * FROM news WHERE id = '".$_GET['id']."' ORDER BY id DESC");
while ($row = mysql_fetch_array($res)) {
$clicks = "Просмотров: ".$row['clicks']."";
$title = $row['title'];
$date = $row['date'];
$text = $row['text'];
$stext = $row['stext'];
$cat1 = mysql_query("SELECT * FROM news_cats WHERE cat_id = '".$row['category']."'");
$cat = mysql_fetch_array($cat1);
$pic = $cat['pic'];
$at = mysql_query("SELECT * FROM users WHERE id = '".$row[author]."'");
while ($atr = mysql_fetch_array($at)) {
$rating = $row['rating'];
if ($rating >0) {
$rating = "<font color='green'> <b>$rating</b></font>";
} elseif ($rating <0) {
$rating = "<font color='red'> <b>$rating</b></font>";
} else {
$rating = "<font color='blue'> <b>$rating</b></font>";
}
$type = $_GET['cwar'];
$id = $atr['id'];
$author = "Автор: <a href='index.php?cwar=user&id=".$id."'>".$atr['login']."</a>";
$plus ='<font color="green">+</font>';
$minus ='<font color="red">-</font>';
$check = mysql_query("SELECT * FROM rating WHERE userID = '".$userID."' AND itemID = '".$_GET['id']."' AND type = '".$type."'");
if (mysql_num_rows($check) > 0) {
$vote = ''.$rating.'';
} else {
$vote = ' <a href="?cwar=news&op=plus&id='.$_GET['id'].'">'.$plus.'</a> '.$rating.' <a href="?cwar=news&op=minus&id='.$_GET['id'].'">'.$minus.'</a>';
}
}
echo "<table border= '1 ' width= '98% ' style='border-collapse: collapse' collspan'2'> ";
echo "<tr>
<td background= 'http://cwar.lv/images/bg-bubplastic-h-blue.gif ' width= '100% ' height= '25 ' class='title'>
<img src='".$pic."'> <b>$title</b> (".$cnum.")</td>
</tr>
<tr>
<td bgcolor= '#e2e2e2 ' width= '98% ' class= 'htd-text' >
<table width= '99% '>
<tr><td>$stext <br><br> $text</tr></td></table></td>
</tr>
<tr bgcolor= '#e2e2e2 '>
<td width= '75% ' class= 'htd-text' >
<center>$clicks | $author | $date | Рейтинг: $vote</center></td>
</tr>
";
echo "</table>
<br>";
}
include "functions/comments.php";
}
switch($op) {
default:
news();
break;
case "show":
show();
break;
case "plus":
plus();
break;
case "minus":
minus();
break;
}
?>