Gå til innhold

Jeg vil bare vise 20 rader fra databasen om gangen


Anbefalte innlegg

Jeg holder på å lage en nyhets side. Jeg vil bare vise 20 nyheter av gangen.

Under tabelen som viser nyheterene skal det være en sådan : side 1 2 3 4 5 osv., samme som det er i dette forum.

Hvordan er det mulig å få til !!

Håper på et grundig svar, da jeg ikke er så stødig i PHP.

 

ps Bruker MySQL

Lenke til kommentar
Videoannonse
Annonse

$antallposts=mysql_num_rows(mysql_query("SELECT * FROM nyheter"));
$temp = $antallposts / 20;
$antallsider = (int) $temp;

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

}
$sql="SELECT * FROM nyheter ORDER BY id LIMIT ".$startpage.", 20";

 

Det tekniske som henter 20 rader om gangen.

 

  $i = 0;
 while ($i <= $antallsider){
    $j=$i+1;
    echo '<a href=nyheter.php?&page='.$i.'>';
    if (isset($_GET['page']) && $_GET['page']==$i  && is_numeric($_GET['page'])) {
     	echo '<b><u>'.$j.'</u></b>';
    }
    else {
     	echo $j;
    }
    echo '</a>';
    if ($i==$antallsider) {}
    else {
     	echo '--';
    }
    $i++;
 }

 

Viser side 1 2 3 4 5

 

EDIT1: Manglet litt i starten

EDIT2: Noen tall var feil, orginal scriptet er for 10 om gangen

Endret av zokra
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å
×
×
  • Opprett ny...