Gå til innhold

Problemer med "neste / forrige" side


Anbefalte innlegg

Koden for side visning:

 

$i = 0;
$nesteside = $startside+1;
$forrigeside = $startside-1;
echo "<a href=\"?s=film/kategori&kat=humor&page=".$forrigeside."\">Forrige side</a> | ";
while ($i <= $antallsider){
    $j=$i+1;

    if ($i == $startpage) {
     	echo '<b>'.$j.'</b>'; //side som er aktiv nå
    }
    else { //sider som ikke er aktive
     	echo '<a href=?s=film/kategori&kat=humor&page='.$i.'>';
     	echo $j;
     	echo '</a>';
    }
    if ($i==$antallsider) {}
    else echo '  -  '; //skille mellom tallene
    $i++;
}
echo " | <a href=\"?s=film/kategori&kat=humor&page=".$nesteside."\">Neste side</a>";

 

Problemet mitt er følgende:

 

Når det ikke er flere sider på enten neste eller forrige, blir det link forde. Jeg må gjøre sånn at Neste f.eks ikke vises hvis det ikke er flere sider.

 

Det andre problemet mitt er at den siden jeg er på ikke blir bold.

 

Noen som kan hjelpe meg med dette? Tusen takk!

Lenke til kommentar
Videoannonse
Annonse
Gjest Slettet+142

da må du ha en variabel som forteller kor mange sider du har + en kontrollstruktur... tror eg isåfall...

skriptet har ikkje blitt testet, og gjort i farten, så si ifra om feil ;)

 

$antall=mysql_num_rows(mysql_query("SELECT * FROM film WHERE kategori = 'Annet'"));
$temp = $antall / 10;
$antallsider = (int) $temp;

if (isset($_GET['page']) && is_numeric($_GET['page'])) {
$startpage=10*$_GET['page'];
}
if (empty($_GET['page']) || !is_numeric($_GET['page'])) {
$startpage=0;
}


$total_sider = 5;
$i = 0;
$nesteside = $startside+1;
$forrigeside = $startside-1;

if($forrigeside != 0) {
   echo "<a href=\"?s=film/kategori&kat=humor&page=".$forrigeside."\">Forrige side</a> | ";
}
while ($i <= $antallsider){
    $j=$i+1;

    if ($i == $startpage) {
     	echo '<b>'.$j.'</b>'; //side som er aktiv nå
    }
    else { //sider som ikke er aktive
     	echo '<a href=?s=film/kategori&kat=humor&page='.$i.'>';
     	echo $j;
     	echo '</a>';
    }
    if ($i==$antallsider) {}
    else echo '  -  '; //skille mellom tallene
    $i++;
}
if($nesteside < $antallsider) {	
   echo " | <a href=\"?s=film/kategori&kat=humor&page=".$nesteside."\">Neste side</a>";
}

 

har gjort for den nye koden du sendte under...

men... må si det ser ut som du har gjort det vanskelig i den koden der... :p

Endret av Slettet+142
Lenke til kommentar

Heisann!

 

Forrige side | 1 - 2

 

Sånn ble det vist når jeg var på side 1. Så det ble på en måte omvendt.

Det er mer kode til dette også som jeg har på toppen. Her er det:

 

$antall=mysql_num_rows(mysql_query("SELECT * FROM film WHERE kategori = 'Annet'"));
$temp = $antall / 10;
$antallsider = (int) $temp;

if (isset($_GET['page']) && is_numeric($_GET['page'])) {
$startpage=10*$_GET['page'];
}
if (empty($_GET['page']) || !is_numeric($_GET['page'])) {
$startpage=0;
}

Lenke til kommentar

| Neste side1 - 2

 

Får jeg på det, står bare neste side selvom jeg er på side 1 eller 2.

 

$i = 0;
$nesteside = $startside+1;
$forrigeside = $startside-1;
if ($startside <= $antallsider) {
echo " | <a href=\"?s=film/kategori&kat=humor&page=".$nesteside."\">Neste side</a>";
}
while ($i <= $antallsider){
    $j=$i+1;

    if ($i == $startpage) {
     	echo '<b>'.$j.'</b>'; //side som er aktiv nå
    }
    else { //sider som ikke er aktive
     	echo '<a href=?s=film/kategori&kat=annet&page='.$i.'>';
     	echo $j;
     	echo '</a>';
    }
    if ($i==$antallsider) {}
    else echo '  -  '; //skille mellom tallene
    $i++;
}
if ($startside >= $antallsider) {
echo " | <a href=\"?s=film/kategori&kat=humor&page=".$nesteside."\">Neste side</a>";
}

Lenke til kommentar
Gjest Slettet+142

hehe... hvis du ser på koden... :

Skjult tekst: (Marker innholdet i feltet for å se teksten):

$i = 0;
$nesteside = $startside+1;
$forrigeside = $startside-1;
if ($startside <= $antallsider) {
echo " | <a href=\"?s=film/kategori&kat=humor&page=".$nesteside."\">Neste side</a>";    <-------------SE HER... du har forrige side både oppe og nede...
}
while ($i <= $antallsider){
    $j=$i+1;

    if ($i == $startpage) {
     	echo '<b>'.$j.'</b>'; //side som er aktiv nå
    }
    else { //sider som ikke er aktive
     	echo '<a href=?s=film/kategori&kat=annet&page='.$i.'>';
     	echo $j;
     	echo '</a>';
    }
    if ($i==$antallsider) {}
    else echo '  -  '; //skille mellom tallene
    $i++;
}
if ($startside >= $antallsider) {
echo " | <a href=\"?s=film/kategori&kat=humor&page=".$nesteside."\">Neste side</a>";
}

merket av et lite punkt i koden, så du kan se... :p --^

 

 

ENDRE KODEN TIL :

$i = 0;
$nesteside = $startside+1;
$forrigeside = $startside-1;
if($forrigeside != 0) {
echo " | <a href=\"?s=film/kategori&kat=humor&page=".$forrigeside."\">Forrige side</a>";
}
while ($i <= $antallsider){
    $j=$i+1;

    if ($i == $startpage) {
     	echo '<b>'.$j.'</b>'; //side som er aktiv nå
    }
    else { //sider som ikke er aktive
     	echo '<a href=?s=film/kategori&kat=annet&page='.$i.'>';
     	echo $j;
     	echo '</a>';
    }
    if ($i==$antallsider) {}
    else echo '  -  '; //skille mellom tallene
    $i++;
}
if ($startside >= $antallsider) {
echo " | <a href=\"?s=film/kategori&kat=humor&page=".$nesteside."\">Neste side</a>";
}

Endret av Slettet+142
Lenke til kommentar

Okay fiksa det.

 

Men:

 

Side 2:

Forrige side står der med feil link: linken min - page=-1

Se på page. det blir feil, skal jo være page=0 for å komme til siden før der.

 

Og på første siden, vises "forrige side" og ikke "neste side" selvom det er flere sider etter men ikke før.

Lenke til kommentar
Gjest Slettet+142
Okay fiksa det.

 

Men:

 

Side 2:

Forrige side står der med feil link: linken min - page=-1

Se på page. det blir feil, skal jo være page=0 for å komme til siden før der.

 

Og på første siden, vises "forrige side" og ikke "neste side" selvom det er flere sider etter men ikke før.

6399862[/snapback]

eg redigerte koden eg sendte over litt... se på den no... ;)

Endret av Slettet+142
Lenke til kommentar
Gjest Slettet+142

PRØV Å ENDRE TIL DETTE DÅ:

 

$i = 0;
$nesteside = $startpage+1;
$forrigeside = $startpage-1;
if($forrigeside != 0) {
echo " | <a href=\"?s=film/kategori&kat=humor&page=".$forrigeside."\">Forrige side</a>";
}
while ($i <= $antallsider){
   $j=$i+1;

   if ($i == $startpage) {
     echo '<b>'.$j.'</b>'; //side som er aktiv nå
   }
   else { //sider som ikke er aktive
     echo '<a href=?s=film/kategori&kat=annet&page='.$i.'>';
     echo $j;
     echo '</a>';
   }
   if ($i==$antallsider) {}
   else echo '  -  '; //skille mellom tallene
   $i++;
}
if ($startside >= $antallsider) {
echo " | <a href=\"?s=film/kategori&kat=humor&page=".$nesteside."\">Neste side</a>";
}

no e eg temmelig sikker på at det virker... :p:innocent:

Endret av Slettet+142
Lenke til kommentar
Gjest Slettet+142

ser ut som en "logisk feil" :p... gnikk hode ditt i et eller annet og se om u får svaret ut.... det e jo du som har hele skriptet...

Lenke til kommentar

if($startside > 1) {
echo " | <a href=\"?s=film/kategori&kat=humor&page=".$forrigeside."\">Forrige side</a>";
}

og

if ($startside < $antallsider) {
echo " | <a href=\"?s=film/kategori&kat=humor&page=".$nesteside."\">Neste side</a>";
}

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...