Habe hier mal ein Script, welches alle Datenbankeinträge auflistet.
Das Script beinhaltet eine Blätterfunktion und funktioniert auch ganz gut.
Nun habe ich aber ein Problem damit.
Der erste Eintrag aus der Datenbank soll nicht angezeigt werden.
Leider bekomme ich das nicht hin!
Code: Alles auswählen
<?
include ("config.php");
$query = "SELECT * FROM `tabelle` ORDER BY `land` DESC";
$re = mysql_query($query);
$anz = mysql_num_rows($re);
?>
<?
$c=0;
while($anz >0){
$c++;
$anz = $anz - 10;
}
?>
<?
# Prüft ob die Variable $page schon vorhanden ist.
# ($page wird später durch die links angegeben)
# Sofern diese Variable noch nicht vorhanden sein sollte wird sie erstellt und auf 1 gesetzt.
if(!isset($page))
$page = 1;
$pag = $page-1;
# Falls die momentan betrachtete Seite grösser als 1 ist,
# so werden die Links für "zurück" und "zur ersten Seite springen" erstellt.
if($page > 1 ){
echo "<a href=\"auslesen.php?page=1\" target=\"_self\"><font color=\"#A7A7A7\">«</font></a> ";
echo "<a href=\"auslesen.php?page=".$pag."\" target=\"_self\"><font color=\"#A7A7A7\">‹</font></a> ";
}
# Hier werden die Seiten als Direktlink ausgegeben.
for($b=1;$b<=$c;$b++){
$site = $b;
# Diese If-Abfrage ist nötig, um die Momentan betrachtete Seite nicht als Link anzugeben.
if(isset($page) && $page == $site){
# die Momentane Seite ohne Link:
echo $b." ";
}
else
{
# Der auszugebende Link:
echo "<a href=\"auslesen.php?page=$site\" target=\"_self\"><font color=\"#A7A7A7\">$b</font></a> ";
}
}
# Falls die momentan betrachtete Seite kleiner als die Gesamt-Anzahl der Seiten ist,
# so werden die Links für "vor" und "zur letzten Seite springen" erstellt.
$pag = $page+1;
if($page < $c ){
echo "<a href=\"auslesen.php?page=".$pag."\" target=\"_self\"><font color=\"#A7A7A7\">›</font></a> ";
echo "<a href=\"auslesen.php?page=$c\" target=\"_self\"><font color=\"#A7A7A7\">»</font></a> ";
}
?>
<br>
<br>
<?
$array = array();
while($l=mysql_fetch_array($re)){
array_push($array,$l);
}
?>
<?
# Anzahl der Einträge holen:
$anzahl = mysql_num_rows($re);
# Nur die 10 Einträge anzeigen lassen, die die akutelle Seite ausgeben soll:
for($x=($anzahl-10*$page+10)-1; $x>($anzahl-10*$page)-1; $x--){
# Nur ausgeben wenn $x grösser als 0 ist:
if($x >= 0){
?>Code: Alles auswählen
# Nur die 10 Einträge anzeigen lassen, die die akutelle Seite ausgeben soll:
for($x=($anzahl-10*$page+10>>-1<<)-1; $x>($anzahl-10*$page)-1; $x--){
# Nur ausgeben wenn $x grösser als 0 ist:
if($x >= 0){
Dann wird zwar der erste Eintrag nicht angezeigt. Aber auf jeder weiteren Seite,
fehlt dann auch jeweils ein Eintrag, der normalerweise angezeigt werden sollte.
Habe es auch schonmal so probiert.
Code: Alles auswählen
$query = "SELECT COUNT(*)- 1 as * FROM `tabelle` ORDER BY `land` DESC";Wie kann ich das nun realisieren, das es funktioniert?
Gruss Rudi