Gå til innhold

Lite problem i paging-script


Anbefalte innlegg

Jeg bruker et paging-script for å vise nyhetene på siden min (i gjesteboka mi og for den del), dette fungerer fint, men jeg føler at det mangler en ting; Når jeg klikker på "neste side-linken", kommer jeg til neste side, men det kommer ikke frem hvilken side jeg er på.

 

eks

 

Slik ser det ut når jeg er på side 3 nå:

 

<Forrige 1 2 3 4 5 Neste >

 

Slik vil jeg at det skal se ut:

 

< Forrige 1 2 3 4 5 Neste >

 

Noen forslag til hvordan jeg kan få til dette?

 

vis.php

<link rel="stylesheet" type="text/css" href="style.css">
<?

class Paging {
   var $x;
   var $display = 10; //antall poster per side
   var $XX = '<br>Ingen resultater funnet<br>';
   var $counter, $number, $pages, $i, $query2,$query, $result2, $result, $num_record;

   function DoPaging($startrow, $prevrow, $nextrow) {
   
   $global_db = mysql_connect('localhost', '****','**********');
   mysql_select_db('news', $global_db);
   $this->Query = "SELECT * FROM nyhet";
   $this->result = mysql_query($this->Query);
   $this->num_record = mysql_num_rows($this->result);


   if (empty($startrow)) {
       $startrow=0;
   }
   $this->Query2 = "SELECT * FROM nyhet ORDER BY dato DESC LIMIT $startrow, $this->display";

   $this->result2 = mysql_query($this->Query2);
   $this->counter = 0;


   $this->number = mysql_num_rows($this->result2);
   $this->i = 0;

   $teller = 0;

   if ($this->number == 0) :
       print("<br><center><P><b>Det er mest sannsynlig ingen poster registrert i denne kategorien.</b></p></center>");
   elseif ($this->number > 0) :
   
      while ($this->i < $this->number):
   
   //******************************************************
   //her må du endre verdiene
   //******************************************************

        //variabel                       feltnavn i tabellen
        $tittel = mysql_result($this->result2,$this->i,"tittel");
            $navn = mysql_result($this->result2,$this->i,"navn");
        $nyhet = mysql_result($this->result2,$this->i,"nyhet");
  $dato = mysql_result($this->result2,$this->i,"dato");
        $id = mysql_result($this->result2,$this->i,"id");
  
$nyhet = str_replace("X(","<img src=\"$SmileyDir/angry.gif\" alt=\"\">",$nyhet); 
$nyhet = str_replace(":f","<img src=\"$SmileyDir/flirt.gif\" alt=\"\">",$nyhet); 
$nyhet = str_replace(":x","<img src=\"$SmileyDir/dead.gif\" alt=\"\">",$nyhet); 
$nyhet = str_replace(":(","<img src=\"$SmileyDir/frown.gif\" alt=\"\">",$nyhet); 
$nyhet = str_replace(":h","<img src=\"$SmileyDir/cool.gif\" alt=\"\">",$nyhet); 
$nyhet = str_replace(":i","<img src=\"$SmileyDir/idea.gif\" alt=\"\">",$nyhet); 
$nyhet = str_replace(":)","<img src=\"$SmileyDir/smile.gif\" alt=\"\">",$nyhet); 
$nyhet = str_replace(";)","<img src=\"$SmileyDir/wink.gif\" alt=\"\">",$nyhet); 
$nyhet = str_replace(":l","<img src=\"$SmileyDir/hrmpf.gif\" alt=\"\">",$nyhet); 
$nyhet = str_replace(":o","<img src=\"$SmileyDir/redface.gif\" alt=\"\">",$nyhet); 
$nyhet = str_replace(":00","<img src=\"$SmileyDir/look.gif\" alt=\"\">",$nyhet); 
$nyhet = str_replace(":p","<img src=\"$SmileyDir/tounge.gif\" alt=\"\">",$nyhet); 
$nyhet = str_replace(":P","<img src=\"$SmileyDir/tounge.gif\" alt=\"\">",$nyhet); 
$nyhet = str_replace(":q","<img src=\"$SmileyDir/quest.gif\" alt=\"\">",$nyhet); 
$nyhet = str_replace(":r","<img src=\"$SmileyDir/shame.gif\" alt=\"\">",$nyhet); 
$nyhet = str_replace(":D","<img src=\"$SmileyDir/biggrin.gif\" alt=\"\">",$nyhet); 
$nyhet = str_replace(":e","<img src=\"$SmileyDir/supergrin.gif\" alt=\"\">",$nyhet);
$nyhet = stripslashes($nyhet);
       
 echo "
<table class='tdtop' width='50%' cellpadding='2' border='1'>
 <tr>
   <td class='tekst' align='left'>$tittel</td>
 </tr>
</table>
<table class='tdmid' cellpadding='2' width='50%' border='1'>
 <tr>
   <td>$nyhet</td>
 </tr>
</table>
<table class='tdbottom' cellpadding='2' width='50%' border='1'>
 <tr>
   <td class='tekst2' align='left'>skrevet $dato av $navn </td>
 
 <td align='right' class='tekst2'> [ <a href=\"slettinnhold.php?id=$id\">Slett</a> | <a href=\"rediger.php?id=$id\">Rediger</a> ]</td>

 </tr>
</table>
<p>";

   //******************************************************
   //Slutt endre. Resten bør være intakt. Har du ingen ID, så fjerner du denne fra print-statementet nedenfor.
   //******************************************************


       $this->i++;
   endwhile;
   endif;

   if ($startrow != 0) {
   $prevrow = $startrow - $this->display;
   print("<a href=\"$PHP_SELF?startrow=$prevrow&ID=$ID\">Forrige</a>\n");
   }
   $this->pages = intval($this->num_record / $this->display);
   if ($this->num_record % $this->display) {
       $this->pages++;
   }
   if ($this->pages > 1) {
       for ($i=1; $i <= $this->pages; $i++) {
           $nextrow = $this->display * ($i - 1);
           if(!$this->number == 0)
           {
           print("<a href=\"$PHP_SELF?startrow=$nextrow&ID=$ID\">$i</a>\n  ");
       }
       }
   }

   if (!(($startrow / $this->display) == $this->pages - 1) && $this->pages != 1)
   {
       if(!$this->number == 0)
       {
           $nextrow = $startrow + $this->display;
           print("<a href=\"$PHP_SELF?startrow=$nextrow&ID=$ID\">Neste</a>\n");
       }
   }

   if ($this->num_record < 1) {
       print("$this->XX");
   }
 }
}

$p_obj =& new Paging;
$p_obj->DoPaging($_GET['startrow'],$_GET['prevrow'],$_GET['nextrow']);
?> 

 

EDIT:En leif hadde sneket seg inn

Endret av Tha_Zaynt
Lenke til kommentar
Videoannonse
Annonse

         if(!$this->number == 0)
          {
          print("<a href=\"$PHP_SELF?startrow=$nextrow&ID=$ID\">$i</a>\n  ");
      }

 

...blir til...

         if(!$this->number == 0)
          {

          print("<a href=\"$PHP_SELF?startrow=$nextrow&ID=$ID\">");

$side = $_GET['id'];
if (empty($side)) {
$side = "1";
}
if ($side == $i) {
print ("<b>$i</b>");
} else {
print ("$i");
}

          print ("</a>\n  ");

      }

 

edit: Du bør sette inn noe mer, tilfelle noen forsøker å gjøre noe bøll med $_GET['id']

Endret av fjartan
Lenke til kommentar

virket ikke som det funket helt..bare den første side (altså side 1) ble uthevet uansett på hvilken side jeg befinner meg.

 

Se her

 

slik ser koden ut nå btw:

 

vis.php

 

<link rel="stylesheet" type="text/css" href="style.css">
<?

class Paging {
  var $x;
  var $display = 10; //antall poster per side
  var $XX = '<br>Ingen resultater funnet<br>';
  var $counter, $number, $pages, $i, $query2,$query, $result2, $result, $num_record;

  function DoPaging($startrow, $prevrow, $nextrow) {
  
  $global_db = mysql_connect('localhost', '******', '******');
  mysql_select_db('news', $global_db);
  $this->Query = "SELECT * FROM nyhet";
  $this->result = mysql_query($this->Query);
  $this->num_record = mysql_num_rows($this->result);


  if (empty($startrow)) {
      $startrow=0;
  }
  $this->Query2 = "SELECT * FROM nyhet ORDER BY dato DESC LIMIT $startrow, $this->display";

  $this->result2 = mysql_query($this->Query2);
  $this->counter = 0;


  $this->number = mysql_num_rows($this->result2);
  $this->i = 0;

  $teller = 0;

  if ($this->number == 0) :
      print("<br><center><P><b>Det er mest sannsynlig ingen poster registrert i denne kategorien.</b></p></center>");
  elseif ($this->number > 0) :
  
     while ($this->i < $this->number):
  

       $tittel = mysql_result($this->result2,$this->i,"tittel");
           $navn = mysql_result($this->result2,$this->i,"navn");
       $nyhet = mysql_result($this->result2,$this->i,"nyhet");
 $dato = mysql_result($this->result2,$this->i,"dato");
       $id = mysql_result($this->result2,$this->i,"id");
 
$SmileyDir = "smileys";
$nyhet = str_replace("X(","<img src=\"$SmileyDir/angry.gif\" alt=\"\">",$nyhet);
$nyhet = str_replace(":f","<img src=\"$SmileyDir/flirt.gif\" alt=\"\">",$nyhet);
$nyhet = str_replace(":x","<img src=\"$SmileyDir/dead.gif\" alt=\"\">",$nyhet);
$nyhet = str_replace(":(","<img src=\"$SmileyDir/frown.gif\" alt=\"\">",$nyhet);
$nyhet = str_replace(":h","<img src=\"$SmileyDir/cool.gif\" alt=\"\">",$nyhet);
$nyhet = str_replace(":i","<img src=\"$SmileyDir/idea.gif\" alt=\"\">",$nyhet);
$nyhet = str_replace(":)","<img src=\"$SmileyDir/smile.gif\" alt=\"\">",$nyhet);
$nyhet = str_replace(";)","<img src=\"$SmileyDir/wink.gif\" alt=\"\">",$nyhet);
$nyhet = str_replace(":l","<img src=\"$SmileyDir/hrmpf.gif\" alt=\"\">",$nyhet);
$nyhet = str_replace(":o","<img src=\"$SmileyDir/redface.gif\" alt=\"\">",$nyhet);
$nyhet = str_replace(":00","<img src=\"$SmileyDir/look.gif\" alt=\"\">",$nyhet);
$nyhet = str_replace(":p","<img src=\"$SmileyDir/tounge.gif\" alt=\"\">",$nyhet);
$nyhet = str_replace(":P","<img src=\"$SmileyDir/tounge.gif\" alt=\"\">",$nyhet);
$nyhet = str_replace(":q","<img src=\"$SmileyDir/quest.gif\" alt=\"\">",$nyhet);
$nyhet = str_replace(":r","<img src=\"$SmileyDir/shame.gif\" alt=\"\">",$nyhet);
$nyhet = str_replace(":D","<img src=\"$SmileyDir/biggrin.gif\" alt=\"\">",$nyhet);
$nyhet = str_replace(":e","<img src=\"$SmileyDir/supergrin.gif\" alt=\"\">",$nyhet);
$nyhet = stripslashes($nyhet);
      
echo "
<table class='tdtop' width='50%' cellpadding='2' border='1'>
<tr>
  <td class='tekst' align='left'>$tittel</td>
</tr>
</table>
<table class='tdmid' cellpadding='2' width='50%' border='1'>
<tr>
  <td>$nyhet</td>
</tr>
</table>
<table class='tdbottom' cellpadding='2' width='50%' border='1'>
<tr>
  <td class='tekst2' align='left'>skrevet $dato av $navn </td>

<td align='right' class='tekst2'> [ <a href=\"slettinnhold.php?id=$id\">Slett</a> | <a href=\"rediger.php?id=$id\">Rediger</a> ]</td>

</tr>
</table>
<p>";


      $this->i++;
  endwhile;
  endif;

  if ($startrow != 0) {
  $prevrow = $startrow - $this->display;
  print("<a href=\"$PHP_SELF?startrow=$prevrow&ID=$ID\">Forrige</a>\n");
  }
  $this->pages = intval($this->num_record / $this->display);
  if ($this->num_record % $this->display) {
      $this->pages++;
  }
  if ($this->pages > 1) {
      for ($i=1; $i <= $this->pages; $i++) {
          $nextrow = $this->display * ($i - 1);
               if(!$this->number == 0)
         {

         print("<a href=\"$PHP_SELF?startrow=$nextrow&ID=$ID\">");

$side = $_GET['id'];
if (empty($side)) {
$side = "1";
}
if ($side == $i ) {
print ("<b><u>$i</u></b>");
} else {
print ("$i");
}

         print ("</a>\n  ");

     }
      }
  }

  if (!(($startrow / $this->display) == $this->pages - 1) && $this->pages != 1)
  {
      if(!$this->number == 0)
      {
          $nextrow = $startrow + $this->display;
          print("<a href=\"$PHP_SELF?startrow=$nextrow&ID=$ID\">Neste</a>\n");
      }
  }

  if ($this->num_record < 1) {
      print("$this->XX");
  }
}
}

$p_obj =& new Paging;
$p_obj->DoPaging($_GET['startrow'],$_GET['prevrow'],$_GET['nextrow']);
?>

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...