Seitenanzeige in einer Linkliste

RageNo1

Erfahrenes Mitglied
Hallo,
ich habe ein Ausgabescript für eine Linkliste gebastelt.
Das ganze Funktioniert auch. Ich habe nun hier aus den
Tutorials eine Seitenfunktion übernommen und eingebaut.

Die Seitenanzeige lässt sich wunderbar durchklicken nur
bleiben die Einträge auf der Seiten gleich, d.h. es werden
immer nur die Obersten (bzw. Letzten) Links ausgegeben.

Die Linkausgabe bleibt also von der Seitenausgabe unberührt.
Ich hoffe jemand kann mir da etwas weiterhelfen.

Hier mal mein Versuch:
PHP:
<?php

	include ("config.inc.php");

// datenbank connecten

	mysql_connect($db_server, $db_user, $db_password);
	mysql_select_db($db_database);

// seitenanzeige code

	$connpage = "SELECT * FROM toy_links";
	$resultpage = mysql_query($connpage);
	$number = mysql_num_rows($resultpage);

	$seiten = ceil($number/$links);

	$start = $_GET['page'] * $links; 
	$connpage2 = "SELECT * FROM toy_links LIMIT $start,$links"; 
	$result = mysql_query($connpage2);

	$ende = $start + $links;
	if ($ende>$number) { $ende = $number; }

// datenbank auslesen und verarbeiten

	$connect = "SELECT * FROM toy_links WHERE activated = 1 ORDER BY id DESC LIMIT $links";
	$result = mysql_query($connect);

	while ($list = mysql_fetch_array($result)) {

	$name	= $list['name'];
	$katid	= $list['kat'];
	$linkid	= $list['id'];
	$user 	= $list['postedby'];
	$url 	= $list['url'];
	$date 	= date("d.m.Y",$list["date"]);
	$hits	= $list['hits'];

	$connect2 = "SELECT name FROM toy_kats WHERE id = '$katid'";
	$result2 = mysql_query($connect2);
	while ($list2 = mysql_fetch_array($result2))

	$cat	= $list2['name'];

// ausgabe der einträge

	echo "$date $name $cat<br>";

	}

// ausgabe seitenanzeige

	echo "$seiten pages"; 

	if ($_GET['page']>1) { 
    	$i=$_GET['page']-1; 
 	echo "<a href=\"output.php?page=".$i."\">&lt;previous</a>"; 
	} 
	for($i=1; $i<=$seiten; $i++) { 
	if ($i==$_GET['page']) { 
        echo $i."&nbsp;"; 
	} 
	else { 
        echo "<a href=\"output.php?page=".$i."\">$i</a>&nbsp;"; 
	} 
	} 
	if ($_GET['page']<$seiten) { 
	$i=$_GET['page']+1; 
	echo "<a href=\"output.php?page=".$i."\">next&gt;</A>"; 
	}  

	mysql_close();

?>

Mfg Hendrik
 
Vielan Dank das war es.

Nun noch eine Sache, dbei der Seitenausgabe ist 0 die erste Seite
ich finde aber keinen weg das zu ändern das bei 1 angefangen wird.

PHP:
<?php

	include ("config.inc.php");

// datenbank connecten

	mysql_connect($db_server, $db_user, $db_password);
	mysql_select_db($db_database);

// seitenanzeige code

	$connpage = "SELECT * FROM toy_links";
	$resultpage = mysql_query($connpage);
	$number = mysql_num_rows($resultpage);

	$seiten = ceil($number/$links);

	$start = $_GET['page'] * $links; 
	$connpage2 = "SELECT * FROM toy_links LIMIT $start,$links"; 
	$result = mysql_query($connpage2);

	$ende = $start + $links;
	if ($ende>$number) { $ende = $number; }

// datenbank auslesen und verarbeiten

	$connect = "SELECT * FROM toy_links WHERE activated = 1 ORDER BY id DESC LIMIT $start,$links";
	$result = mysql_query($connect);

	while ($list = mysql_fetch_array($result)) {

	$name	= $list['name'];
	$katid	= $list['kat'];
	$linkid	= $list['id'];
	$user 	= $list['postedby'];
	$url 	= $list['url'];
	$date 	= date("d.m.Y",$list["date"]);
	$hits	= $list['hits'];

	$connect2 = "SELECT name FROM toy_kats WHERE id = '$katid'";
	$result2 = mysql_query($connect2);
	while ($list2 = mysql_fetch_array($result2))

	$cat	= $list2['name'];

// ausgabe der einträge

	echo "$date $name $cat<br>";

	}

// ausgabe seitenanzeige

	echo "$seiten pages"; 

	if ($_GET['page']>1) { 
    	$i=$_GET['page']-1; 
 	echo "<a href=\"output.php?page=".$i."\">&lt;previous</a>"; 
	} 
	for($i=0; $i<=$seiten; $i++) { 
	if ($i==$_GET['page']) { 
        echo $i."&nbsp;"; 
	} 
	else { 
        echo "<a href=\"output.php?page=".$i."\">$i</a>&nbsp;"; 
	} 
	} 
	if ($_GET['page']<$seiten) { 
	$i=$_GET['page']+1; 
	echo "<a href=\"output.php?page=".$i."\">next&gt;</A>"; 
	}  

	mysql_close();

?>
 
Also wenn ich dich richtig verstanden habe willst du dass die Ausgabe der Seitenzahlen (Navigation durch die Seiten) bei 1 anstatt 0 beginnt.

Ich sag jetzt mal ganz spontant das würde so gehen ;):
PHP:
// ausgabe seitenanzeige

    echo "$seiten pages"; 

    if ($_GET['page']>1) { 
        $i=$_GET['page']-1; 
     echo "<a href=\"output.php?page=".$i."\">&lt;previous</a>"; 
    } 
    for($i=0; $i<=$seiten; $i++) { 
        $a = $i+1;
    if ($i==$_GET['page']) { 
        echo $i."&nbsp;"; 
    } 
    else { 
        echo "<a href=\"output.php?page=".$i."\">".$a."</a>&nbsp;"; 
    } 
    } 
    if ($_GET['page']<$seiten) { 
    $i=$_GET['page']+1; 
    echo "<a href=\"output.php?page=".$i."\">next&gt;</A>"; 
    }
 
Zurück