Проблем с numrows

Както разбрахте това е код за класации. На първатая страница няма грешка, но щом отида на втората и се показва
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 '-19,19' at line 1
:cry:
 
Проблема ти идва от грешно странициране.Страницата излиза грешна и не се връща резултат от базата данни => 0 => false и след mysql_num_rows излиза грешката че е сложено boolean (false) вместо резултата.
 
<?php
//server connfigure
$server = "server";
$dbusername = "user";
$dbpassword = "pass";
$db_name = "bazaname";
$table_name = "table";
//server connfigure
//колко резултата на страница
$pp = "19";
//колко резултата на страница

if (isset($page)){ $page=$_GET['page']; } //присвояваме стойността на page

if(!isset($_GET['page'])) //ако не е взета page да върне 1-ца
{
$page="1";
}

$limit = ($pp*isset($page))-$pp; //определяме лимитирането

mysql_connect($server, $dbusername, $dbpassword)or die("1111");
@mysql_select_db($db_name) or die("2222");
$redove=mysql_query("SELECT * FROM $table_name WHERE unrank='0'");

$max=mysql_numrows($redove); //преброяваме редовете
$total=ceil($max/$pp); //пресмятаме броя на страниците

mysql_connect($server, $dbusername, $dbpassword)or die("3333");
@mysql_select_db($db_name) or die("4444");
$result = mysql_query("SELECT * FROM `$table_name` WHERE `unrank`='0' ORDER BY `respect` DESC LIMIT ".$limit.",".$pp."") or die(mysql_error());
$num = mysql_numrows($result);

mysql_close();

echo "<table style='font-size: 12px;'>";

$i=0;

while ($i < $num) {

//изкарват се резултатите тук

}
echo "</table>";

//от тук започва кода за показването на страниците
if (isset($page) > 1) {
$prev = ($page - 1);
echo "<a href=\"?page=$prev\"><font face=\"Trebuchet MS\" style=\"font-size: 10px;\">Предишна</font></a> ";
}
else echo "<font face=\"Trebuchet MS\" style=\"font-size: 10px;\">Предишна</font>";

if (!isset($page) or ($page > $total)) {
$page="1";
}

if ($total < 10) {
for($i=1 ; $i<=$total ; $i++) {
if ( ($page)==$i ) {
echo "<b>$i</b> ";
}
else {
echo "<a href=\"?page=".$i."\">".$i."</a> ";
}
}
}
else {
for($i=1 ; $i<=3 ; $i++) {
if ( ($page)==$i ) {
echo "<b>$i</b> ";
}
else {
echo "<a href=\"?page=".$i."\">".$i."</a> ";
}
}

if ($page <= 3) {
if ($page == 3) echo "<a href=\"?page=4\">4</a> ";
echo "... ";
for ($i=$total-2; $i<=$total; $i++)
echo "<a href=\"?page=".$i."\">".$i."</a> ";
}
if ($page == 5) $parva.= "<a href=\"?page=4\">4</a> ";

if ( ($page == 4) or ($page == 5) ) {
for ($i=$page; $i<=$page+1; $i++) {
if ($page == $i) echo "<b>$i</b> ";
else echo "<a href=\"?page=".$i."\">".$i."</a> ";
}
echo "... ";
for ($i=$total-2; $i<=$total; $i++)
echo "<a href=\"?page=".$i."\">".$i."</a> ";
}

if ( ($page > 5) and ($page < ($total - 4)) ) {
echo "... ";
for ($i=$page-1; $i<=$page+1; $i++) {
if ($page == $i) echo "<b>$i</b> ";
else echo "<a href=\"?page=".$i."\">".$i."</a> ";
}
echo "... ";
for ($i=$total-2; $i<=$total; $i++)
echo "<a href=\"?page=".$i."\">".$i."</a> ";
}

if ( $page > ($total - 5) ) {
echo "... ";
for ($i=$total-5; $i<=$total; $i++) {
if ($page == $i) echo "<b>$i</b> ";
else echo "<a href=\"?page=".$i."\">".$i."</a> ";
}
}
}
if ($page < $total) {
$next = ($page + 1);
echo "<a href=\"?page=$next\"><font face=\"Trebuchet MS\" style=\"font-size: 10px;\">Следваща</font></a> ";
}
else echo "<font face=\"Trebuchet MS\" style=\"font-size: 10px;\">Следваща</font>";
?>

Това е целия код... надявам се да ми помогнете :(
 
PHP:
$pp = 19;
$page = (int) $_GET['page'];
$page = (!isset($page)) ? 1 : $page;
$page = ($page < 1) ? 1 : $page;
$limit = ceil($pp*$page/$pp);
 
Сега не ми изписва грешка, но на всяка страница ми показва едни и същи резултати...
 
Толкова ли е трудно да видиш грешката:

$result=mysql_query($query) or die (mysql_error());

и я кажи.
 

Back
Горе