Zur Navigation

Datenbanksuche [5]

41 Tilman

Und wo soll de Code hin?

20.07.2008 14:50

42 Jörg Kruse

Möglichst an den Anfang, - da wo du auch die andern GET Variablen aufnimmst

$autor = $_GET['autor'];
  $title = $_GET['title'];
  $buchart = $_GET['buchart'];
if (!isset(GET['seite'])) {
    $seite = 1;
} else {
    $seite = $_GET['seite'];
}

Wenn du aber noch zurückblättern möchtest auf Seite 1, wäre es vielleicht besser, diese gleich direkt als result.php?seite=1 aufzurufen

20.07.2008 14:55

43 Tilman

Wenn du aber noch zurückblättern möchtest auf Seite 1, wäre es vielleicht besser, diese gleich direkt als result.php?seite=1 aufzurufen

Ja, so mache ich es.

Ich würde die Blätterfunktion aber gerne noch attraktiver gestalten.
- Z.B. hätte ich gerne, dass wenn es nur 10 oder weniger Ergebnisse gibt, kein weiter angezeigt werden soll. Genauso soll es auch bei den Folgeseiten sein. Auf der 1. Seite soll zudem kein Zurück-Link sein.

- Könnte man nicht auch Links zu den "bestehenden" Seiten machen:
1, 2, 3 (fett=Link)

Oder wenn es mehr als 4 Seiten sind:
1, 2, ... 4, 5
(Es sollen also ersten und letzten zwei Seiten angezeigt werden)
Also so, wie bei dir!

20.07.2008 15:17

45 Tilman

OK, Jörg! Scheint mir doch erwas kompliziert. Vielleicht ein anderes Mal. Ich mache es jetzt erst einmal twas einfacher!

21.07.2008 14:14

46 Tilman

Hallo Jörg!

Ich habe für die Blätterfunktion einen Code gemacht:
<? if($_GET['seite'] * $anzahl < $num){
echo "weiter"
}
?>

Nur wenn es noch mehr Ergebnisse gibt, soll "weiter" angezeigt werden!

Aber der Code funktioniert nicht! Verbesserungsvorschlag?

22.07.2008 14:08 | geändert: 22.07.2008 14:19

47 Jörg Kruse

Der Ansatz ist nicht schlecht - im vorliegenden Fall muss $num allerdings die Gesamtanzahl der Datensätze repräsentieren, nicht die Anzahl der Ergebnisse der limitierten Abfrage. Du benötigst hier also noch eine weitere Abfrage, die die Gesamtanzahl ermittelt, z.B.:

$result_2 = mysql_query("SELECT COUNT(*) FROM buecherdaten");
list($totalnum) = mysql_fetch_row($result_2);
if($_GET['seite'] * $anzahl < $totalnum){
    echo "weiter"
}

22.07.2008 14:20 | geändert: 22.07.2008 14:23

48 Tilman

Hallo Jörg!

Jetzt kommt die Fehlermeldung:

Parse error: syntax error, unexpected '}', expecting ',' or ';' in E:\TIL\xampp\htdocs\buecher\results.php on line 120

In dieser Zeile steht:
}

22.07.2008 14:38

49 Jörg Kruse

Da fehlt noch das abschließende Semikolon eine Zeile vorher

if($_GET['seite'] * $anzahl < $totalnum){
    echo "weiter";
}

22.07.2008 14:41

50 Tilman

Hallo Jörg!

Mit dem Code gibt es ein Problem: $totalnum sind alle Datenbankeinträge. Also kommt der "weiter-Link" auch, wenn es z. B. nur 3 Ergebnisse gibt.

23.07.2008 16:25