Проблем с код за странициране...

topchokt

Registered
Здравейте.
Имам един код, който извежда последните добавени тексове от дадена категория. Проблема е, че страницирането не работи. Когато извеждам като цяло всички добавени текстове няма проблем, но там където извеждам текстове само от дадена категория не работи.
Грешката, която получавам е „Error, query failed”, то е ясно защото там определям от коя категория да показва текстовете. Категорията се определя от id-то в линка, тоест когато е например „textcat.php?id=8”, това 8 всъщност е категория Поп-фолк.
Надявам се да сте ме разбра ли.

Кодът е:
Код:
	<?php
include ('includes/conf.php');//добавяме config файла
echo "<table width='100%' align='center'><tbody><tr>

<td class='tablica' width='55%' align='center'><span style='font-weight: bold;'>Текст:</span></td>
<td class='tablica' width='20%' align='center'><span style='font-weight: bold;'>Добавил:</span></td>
<td class='tablica' width='40%' align='center'><span style='font-weight: bold;'>Добавен на:</span></td></tr></tbody></table>";
$id2 = $_GET['id'];
$broinastranica = 1;
$pageNum = 1;
if(isset($_GET['page']))
{
$pageNum = $_GET['page'];
}
$redove = ($pageNum - 1) * $broinastranica;

$query = "SELECT COUNT(id) AS numrows FROM `texts` WHERE kategoria=$id2";
$result = mysql_query($query) or die('Error, query failed');
$row = mysql_fetch_array($result, MYSQL_ASSOC);
$numrows = $row['numrows'];


$maxPage = ceil($numrows/$broinastranica);

$self = $_SERVER['PHP_SELF'];
$nomeranastranici = '';

for($page = 1; $page <= $maxPage; $page++)
{
if ($page == $pageNum)
{
$nomeranastranici .= " $page ";
}
else
{
$nomeranastranici .= " <a href=\"$self?page=$page\">[$page]</a> ";
}
}

if ($pageNum > 1)
{
$page = $pageNum - 1;
$predishna = " <font color=orange><a href=\"$self?page=$page\"> « </a></font> ";
}
else
{
$predishna = ' ';
}
$npage=$pageNum;
$nn=$pageNum+1;
if ($maxPage != $npage AND $maxPage > $npage)
{
$next = " <font color=orange><a href=\"$self?page=$nn\"> » </a></font>";
}
else
{
$next = "";
}

$sqlquery = "SELECT * from texts WHERE kategoria=$id2 order by id desc LIMIT $redove, $broinastranica";

$queryresult = mysql_query($sqlquery)
or die ("Заявката не може да се изпълни");
//показване на данните от базата данни
while ($row = mysql_fetch_array($queryresult))
{


if (strlen($row[ime])>$zbroi)
{$totchki='...';}
else
{$totchki='';}
$kratko = substr($row[ime],0,$zbroi);
$date = date("d/m/Y г.",$row['date']);
echo "<table width='100%' align='center'>
<tbody><tr>
<td class='tablica' width='55%' align='left'><a href='/text/$row[id]'>$row[izpulnitel]-$row[song]</a></td>
<td class='tablica' width='20%' align='center'><span style='font-weight: bold; color: rgb(124, 173, 0);'><a href='http://myweb-bg.info/user:$row[member_id]'>$row[dobavil]</a></span></td>
<td class='tablica' width='40%' align='center'>$date</td>
</tr>
</tbody></table>
".
$pic."



";
}
echo "<div class='pagination'>";
   echo "<span class='disabled'>« $predishna</span>";
   echo "<font color = '#000' /> </font>";
echo "<span class='disabled'>Страница $nomeranastranici</span>";
   echo "<span class='disabled'>$next »</font>";
   echo "</div>";
?>
Някакви идеи как мога да го подкарам?
 
PHP:
<?php
include_once "includes/conf.php";
echo "<table width='100%' align='center'><tbody><tr>
<td class='tablica' width='55%' align='center'><span style='font-weight: bold;'>Текст:</span></td>
<td class='tablica' width='20%' align='center'><span style='font-weight: bold;'>Добавил:</span></td>
<td class='tablica' width='40%' align='center'><span style='font-weight: bold;'>Добавен на:</span></td></tr></tbody></table>";
$cat = $_GET['id'];
$broinastranica = 1;
$pageNum = 1;
if(isset($_GET['page']))
{
$pageNum = $_GET['page'];
}
$redove = ($pageNum - 1) * $broinastranica;
$result = mysql_query("SELECT COUNT(`id`) AS `numrows` FROM `texts` WHERE `kategoria`='cat'") or die(mysql_error());
$row = mysql_fetch_array($result, MYSQL_ASSOC);
$numrows = $row['numrows'];
$maxPage = ceil($numrows/$broinastranica);
$nomeranastranici = '';
for($page = 1; $page <= $maxPage; $page++)
{
if ($page == $pageNum)
{
$nomeranastranici .= " $page ";
}
else
{
$nomeranastranici .= " <a href=\"textcat.php?id=$cat&page=$page\">[$page]</a> ";
}
}

if ($pageNum > 1)
{
$page = $pageNum - 1;
$predishna = " <font color=orange><a href=\"textcat.php?id=$cat&page=$page\"> « </a></font> ";
}
else
{
$predishna = ' ';
}
$npage=$pageNum;
$nn=$pageNum+1;
if ($maxPage != $npage AND $maxPage > $npage)
{
$next = " <font color=orange><a href=\"textcat.php?id=$cat&page=$nn\"> » </a></font>";
}
else
{
$next = "";
}

$queryresult = mysql_query("SELECT * FROM `texts` WHERE `kategoria`=`$cat` ORDER by `id` DESC LIMIT $redove, $broinastranica") or die (mysql_error());
while ($row = mysql_fetch_array($queryresult))
{
if (strlen($row[`ime`])>$zbroi)
{$totchki='...';}
else
{$totchki='';}
$kratko = substr($row[`ime`],0,$zbroi);
$date = date("d/m/Y г.",$row['date']);
echo "<table width='100%' align='center'>
<tbody><tr>
<td class='tablica' width='55%' align='left'><a href='/text/$row[id]'>$row[izpulnitel]-$row[song]</a></td>
<td class='tablica' width='20%' align='center'><span style='font-weight: bold; color: rgb(124, 173, 0);'><a href='http://myweb-bg.info/user:$row[member_id]'>$row[dobavil]</a></span></td>
<td class='tablica' width='40%' align='center'>$date</td>
</tr>
</tbody></table>
".
$pic."
";
}
echo "<div class='pagination'>";
   echo "<span class='disabled'>« $predishna</span>";
   echo "<font color = '#000' /> </font>";
echo "<span class='disabled'>Страница $nomeranastranici</span>";
   echo "<span class='disabled'>$next »</font>";
   echo "</div>";
?>

Така ?
 
PHP:
<?php
include ('includes/conf.php');//добавяме config файла
echo "<table width='100%' align='center'><tbody><tr>

<td class='tablica' width='55%' align='center'><span style='font-weight: bold;'>Текст:</span></td>
<td class='tablica' width='20%' align='center'><span style='font-weight: bold;'>Добавил:</span></td>
<td class='tablica' width='40%' align='center'><span style='font-weight: bold;'>Добавен на:</span></td></tr></tbody></table>";
$id2 = (int)$_GET['id'];
$broinastranica = 1;
$pageNum = 1;
if(isset($_GET['page']))
{
$pageNum = $_GET['page'];
}
$redove = ($pageNum - 1) * $broinastranica;

$query = "SELECT COUNT(id) AS numrows FROM `texts` WHERE kategoria='$id2'";
$result = mysql_query($query) or die('Error, query failed');
$row = mysql_fetch_array($result, MYSQL_ASSOC);
$numrows = $row['numrows'];


$maxPage = ceil($numrows/$broinastranica);

$self = $_SERVER['PHP_SELF'];
$nomeranastranici = '';

for($page = 1; $page <= $maxPage; $page++)
{
if ($page == $pageNum)
{
$nomeranastranici .= " $page ";
}
else
{
$nomeranastranici .= " <a href=\"$self?page=$page\">[$page]</a> ";
}
}

if ($pageNum > 1)
{
$page = $pageNum - 1;
$predishna = " <font color=orange><a href=\"$self?page=$page\"> « </a></font> ";
}
else
{
$predishna = ' ';
}
$npage=$pageNum;
$nn=$pageNum+1;
if ($maxPage != $npage AND $maxPage > $npage)
{
$next = " <font color=orange><a href=\"$self?page=$nn\"> » </a></font>";
}
else
{
$next = "";
}

$sqlquery = "SELECT * from texts WHERE kategoria=$id2 order by id desc LIMIT $redove, $broinastranica";

$queryresult = mysql_query($sqlquery)
or die ("Заявката не може да се изпълни");
//показване на данните от базата данни
while ($row = mysql_fetch_array($queryresult))
{


if (strlen($row[ime])>$zbroi)
{$totchki='...';}
else
{$totchki='';}
$kratko = substr($row[ime],0,$zbroi);
$date = date("d/m/Y г.",$row['date']);
echo "<table width='100%' align='center'>
<tbody><tr>
<td class='tablica' width='55%' align='left'><a href='/text/$row[id]'>$row[izpulnitel]-$row[song]</a></td>
<td class='tablica' width='20%' align='center'><span style='font-weight: bold; color: rgb(124, 173, 0);'><a href='http://myweb-bg.info/user:$row[member_id]'>$row[dobavil]</a></span></td>
<td class='tablica' width='40%' align='center'>$date</td>
</tr>
</tbody></table>
".
$pic."



";
}
echo "<div class='pagination'>";
   echo "<span class='disabled'>« $predishna</span>";
   echo "<font color = '#000' /> </font>";
echo "<span class='disabled'>Страница $nomeranastranici</span>";
   echo "<span class='disabled'>$next »</font>";
   echo "</div>";
?>

Така :lol: ?
 
Сега не показва грешка, но ако отидеш на 2-ра страница (или въобще друга от първата) не показва никакви резултати, а трябва да показва.

Eдит: Оправих се :).
 

Back
Горе