Проблем с интервал на лимитиране ?!

  • Автор Автор z7c
  • Начална дата Начална дата

z7c

Registered
Този код извежда записките от базата данни може и да се ограничи колко резултата да извежда чрез променлива в кода.
Проблема е че не знам как да направя а и не видях урок в уеб туриста, кода да извежда не последните пет , а предпоследните пет резултата ?!

<?php
// кънекция към базата от данни
mysql_connect("..........", "..........", "..........") or die(mysql_error());
mysql_select_db("..........") or die(mysql_error());

//
$id = (int)$_GET['id'];

if($id != NULL) {

$result = mysql_query("SELECT * FROM .......... WHERE id='$id'")
or die(mysql_error());

echo "<table border='0'>";

while($row = mysql_fetch_array( $result )) {
//
echo "<tr><td>";
echo $row[''];
echo "</td></tr><tr><td>";
echo $row['content'];
echo "</a></td></tr>";
}

echo "</table>";

}

else if($id == NULL) {
$table_name = "..........";


$pp = "30";


$page=$_GET['page']; //присвояваме стойността на page

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

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

$redove=mysql_query("SELECT * FROM $table_name");

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


$query="SELECT * FROM $table_name ORDER BY `id` DESC LIMIT $limit,$pp";
$result=mysql_query($query);

echo " <table border='0'>";

while($row = mysql_fetch_array( $result )) {
//
echo "<tr><td>";
echo $row[''];
echo "</td><td><a href='?id=".$row['id']."'>";
echo $row['name'];
echo "</a></td></tr>";
}

echo "</table>";



echo "<br><br><br><br>";

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

if (!$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\">Следваща страница</font></a> ";
}
else echo "<font face=\"Trebuchet MS\"></font>";
}
?>

Някакви идеи ???
 
federer_11 каза:
Според мен е за php, mysql, perl :wink:
аз там я бях сложил но я изтрих и я сложих тук, защото виждам че там всички теми са готови системи и си работат.. а моето не е готов а е проблем за разрешаване
 

Back
Горе