Daten aus DB auf mehreren Seiten darstellen
Verfasst: So 1. Mai 2005, 21:35
Hallo,
ich möchte Daten aus meiner DB auslesen und da es soviele sind, möchte ich sie auf mehreren Seiten darstellen. Dazu hab ich dieses Script:
Wenn ichs alleine laufen lasse funktioniert es, aber sobald ich es als Modul in Contenido laufen lasse geht nichts. Sobald ich auf die Zweite Seite klicke, geht er auf die Startseite. Muss ich da mit Hidden-Feldern arbeiten ? Hat da jemand einen Tip was zu tun ist?
ich möchte Daten aus meiner DB auslesen und da es soviele sind, möchte ich sie auf mehreren Seiten darstellen. Dazu hab ich dieses Script:
Code: Alles auswählen
<?
$liveserver = "localhost"; # Adresse des Liveservers ohne "www", "www.meine.server.de = meine.server.de"
if ($SERVER_NAME == $liveserver) {
# Werte auf Live-Server einstellen!
$user = "root"; # Username für die MySQL-DB
$pass = ""; # Kennwort für die MySQL-DB
$server = "localhost"; # Adresse/IP/Name des MySQL-Server
$dbase = "test"; # Name der standardmäßig verwendeten Datenbank
$table = "users";
} else {
# Werte auf Entwicklungssystem einstellen!
$server = "localhost"; // MySQL-Server
$user = "root"; // MySQL-Nutzer
$pass = ""; // MySQL-Kennwort
$dbase = "test"; // Standarddatenbank
$table = "users";
}
//
$conn = @mysql_connect($server, $user, $pass);
if($conn) {
mysql_select_db($dbase, $conn);
} else {
die("<B>Oops, something goes wrong");
} /* end if */
$sql1 = mysql_query('SELECT COUNT(*) AS count FROM users'); // Tabelle zum zählen
$end = 2; // Wieviel Ausgaben pro Seite?
$url = '<a href="./'.basename($_SERVER['PHP_SELF']).'?action=home'; // Standardlink (z.B. ?action=home (also dann "none=0" durch "action=home" ersetzen)
// "none=0" stehen lassen oder ersetzen, aber nicht entfernen, da sonst fehler enstehen
$anz = mysql_result($sql1, 0, 'count'); // Anzahl
mysql_free_result($sql1);
$ges = floor(ceil($anz)/$end);
$start = !isset($_GET['start']) ? $start = 0 : $_GET['start']*$end;
$nStart = !isset($_GET['start']) ? $start = 0 : $_GET['start'];
$link = '';
$ges += 1;
if($nStart>=($ges)) {
die('Seite existiert nicht!');
}
$link .= ($nStart==0 ? '' : $url.'&start='.($nStart-1).'">« Zurück</a> ');
if($ges>7) {
$ret = array();
for($i=1;$i<=$ges;$i++) {
$ret[] = (($i-1)!=$nStart ? $url.'&start='.($i-1).'">['.$i.']</a> ' : $i.' ');
}
if($nStart<5 && $nStart>1) {
for($j=0;$j<2+$nStart;$j++) {
$link .= $ret[$j];
}
} else {
for($j=0;$j<3;$j++) {
$link .= $ret[$j];
}
}
$link .= ($nStart<=($ges-5) ? ($nStart>=5 ? ' ... '.$ret[$nStart-1].$ret[$nStart].(isset($ret[$nStart+1]) ? $ret[$nStart+1] : '') : '') : '');
$link .= ' ... '.($nStart==$ges-4 ? $ret[$ges-4] : '').$ret[$ges-3].$ret[$ges-2].$ret[$ges-1];
} else {
for($i=1;$i<=$ges;$i++) {
$link .= (($i-1)!=$nStart ? $url.'&start='.($i-1).'">['.$i.']</a> ' : $i.' ');
}
}
$link .= ($nStart==($ges-1) ? '' : ' '.$url.'&start='.($nStart+1).'">Weiter »</a>');
$fields = mysql_list_fields($dbase, $table, $conn);
$sql = "SELECT * FROM $table";
$result = mysql_query('SELECT id, name FROM users LIMIT '.$start.', '.$end);
if ($result) {
while($row = mysql_fetch_array($result)) {
echo "<a href=\"Tabelle-auslese.php?id=$row[id]\">$row[name]</a><BR>";
}
} else {
echo "<P>".mysql_error($conn);
}
mysql_close($conn);
echo $link;
?>