Проблем с страницирането

winers

Registered
Значи имам код за странициране и имам малък код за извеждане на новините в index-a.
Така страницирането работи в файла songs.php, но в index.php неработи

index.php кода за извеждане на новините:

PHP:
<?
                      $query = mysql_query("SELECT * FROM news ORDER BY id DESC LIMIT 3") or die ('Немога да се свържа с ДБ!');
                      $result = mysql_query("SELECT * FROM users WHERE username = '$username'");
                      $raw = mysql_fetch_assoc($result);
                      while($row = mysql_fetch_assoc($query)){
                          if($raw['rank']==4){
                              echo "<a class='x' style='font: 14px Tahoma;' href='del_news.php?id=$row[id]'><b>x</b></a> ";
                          }
                      echo "<b>$row[title]</b><br /><br />$row[novina]<br /><br />";
                      }
                      ?>

Страницирането:

PHP:
<?php
          $tableName = "news";
          $targetpage = "index.php";
          $limit = 10;
          $orderby="id";
          $stages = 1;

          $query = "SELECT COUNT(*) as num FROM `$tableName`";
          $total_pages = mysql_fetch_array(mysql_query($query));
          $total_pages = $total_pages[num];

          $page = mysql_escape_string($_GET['page']);
          if ($page) {
               $start = ($page - 1) * $limit;
          } else {
               $start = 0;
          }

          // Взима номерирането
          $query1 = "SELECT * FROM `$tableName`  order by `$orderby`  LIMIT $start, $limit";
          $result = mysql_query($query1);
                  
                  $rq = mysql_query("SELECT * FROM `$tableName` ORDER BY `$orderby` DESC limit $start, $limit");
                                while($data = mysql_fetch_assoc($rq)) {
                                echo "$data[neshtosi]";}
          if ($page == 0) {
               $page = 1;
          }
          $prev = $page - 1;
          $next = $page + 1;
          $lastpage = ceil($total_pages / $limit);
          $LastPagem1 = $lastpage - 1;


          $paginate = '';
          if ($lastpage > 1) {
               $paginate .= "<div class='paginate'>";
               // Предишна
               if ($page > 1) {
                    $paginate.= "<a href='$targetpage?page=$prev'><<</a>";
               } else {
                    $paginate.= "<span class='disabled'><<</span>";
               }



               // Страници
               if ($lastpage < 7 + ($stages * 2)) { // Няма достатъчно за разкъсване
                    for ($counter = 1; $counter <= $lastpage; $counter++) {
                         if ($counter == $page) {
                              $paginate.= "<span class='current'>$counter</span>";
                         } else {
                              $paginate.= "<a href='$targetpage?page=$counter'>$counter</a>";
                         }
                    }
               } elseif ($lastpage > 5 + ($stages * 2)) { // Достатъчно за разкъсване
                           
                    if ($page < 1 + ($stages * 2)) {
                         for ($counter = 1; $counter < 4 + ($stages * 2); $counter++) {
                              if ($counter == $page) {
                                   $paginate.= "<span class='current'>$counter</span>";
                              } else {
                                   $paginate.= "<a href='$targetpage?page=$counter'>$counter</a>";
                              }
                         }
                         $paginate.= "...";
                         $paginate.= "<a href='$targetpage?page=$LastPagem1'>$LastPagem1</a>";
                         $paginate.= "<a href='$targetpage?page=$lastpage'>$lastpage</a>";
                    }

                    elseif ($lastpage - ($stages * 2) > $page && $page > ($stages * 2)) {
                         $paginate.= "<a href='$targetpage?page=1'>1</a>";
                         $paginate.= "<a href='$targetpage?page=2'>2</a>";
                         $paginate.= "...";
                         for ($counter = $page - $stages; $counter <= $page + $stages; $counter++) {
                              if ($counter == $page) {
                                   $paginate.= "<span class='current'>$counter</span>";
                              } else {
                                   $paginate.= "<a href='$targetpage?page=$counter'>$counter</a>";
                              }
                         }
                         $paginate.= "...";
                         $paginate.= "<a href='$targetpage?page=$LastPagem1'>$LastPagem1</a>";
                         $paginate.= "<a href='$targetpage?page=$lastpage'>$lastpage</a>";
                    }
    
                    else {
                         $paginate.= "<a href='$targetpage?page=1'>1</a>";
                         $paginate.= "<a href='$targetpage?page=2'>2</a>";
                         $paginate.= "...";
                         for ($counter = $lastpage - (2 + ($stages * 2)); $counter <= $lastpage; $counter++) {
                              if ($counter == $page) {
                                   $paginate.= "<span class='current'>$counter</span>";
                              } else {
                                   $paginate.= "<a href='$targetpage?page=$counter'>$counter</a>";
                              }
                         }
                    }
               }

               // Следваща
               if ($page < $counter - 1) {
                    $paginate.= "<a href='$targetpage?page=$next'>>></a>";
               } else {
                    $paginate.= "<span class='disabled'>>></span>";
               }

               $paginate.= "</div>";
          }
                  ?>
                  </table>
 
Я пробвай с този код:
Код:
<?php
include ('includes/conf.php');//добавяме config файла
$broinastranica = 25;
$pageNum = 1;
if(isset($_GET['page']))
{
$pageNum = $_GET['page'];
}
$redove = ($pageNum - 1) * $broinastranica;

$query = "SELECT COUNT(id) AS numrows FROM `news`";
$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 news   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);

echo "
<b>$row[title]</b><br /><br />$row[novina]<br /><br />
".
$pic."



";
}
}
echo "<div class='paging'>";
   echo "<font color = '#000' />$predishna</font>";
   echo "<font color = '#000' /> </font>";
echo "<font color = '#000' />Страница $nomeranastranici</font>";
   echo "<font color = '#000' />$next</font>";
   echo "</div>";
?>
Така? Промених го малко...
 
winers каза:
Не работи.. footer-a се скрива
Код:
<?php
include ('includes/conf.php');//добавяме config файла
$broinastranica = 25;
$pageNum = 1;
if(isset($_GET['page']))
{
$pageNum = $_GET['page'];
}
$redove = ($pageNum - 1) * $broinastranica;

$query = "SELECT COUNT(id) AS numrows FROM `news`";
$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 news order by id desc LIMIT $redove, $broinastranica";

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


if (strlen($row[title])>$zbroi)
{$totchki='...';}
else
{$totchki='';}
$kratko = substr($row[title],0,$zbroi);

echo "
<b>$row[title]</b><br /><br />$row[novina]<br /><br />
".
$pic."



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

Back
Горе