Supportnet Computer
Planet of Tech

Supportnet / Forum / Skripte(PHP,ASP,Perl...)

Seitenzahl





Frage

Hallo allerseits, ich habe nochmal eine kleine Frage. Und zwar möchte ich, dass nur eine bestimmte Anzahl von Ergebnissen einer MYSQL-Datenbank auf einer Seite angezeigt werden und man dann mit "vor" weitere ansehen kann. Habe dazu folgendes versucht: [code]$host = "localhost"; $user = "*******"; $password = "********"; $database = "*******"; $table = "words"; // Datendefinition für die Clientausgabe $start = (isset($start)) ? abs((int)$start) : 0; $limit = 8; // Datensätze pro Ausgabeseite // Verbindung zu MySQL-Datenbank herstellen oder sterben. @mysql_connect($host,$user,$password) or die("Abbruch: Verbindung zu '$host'" ." konnte nicht hergestellt werden."); // Benötigte Datenbank auswählen oder sterben. @mysql_select_db($database) or die("Abbruch: Datenbank '$database' konnte nicht" ." selektiert werden.<br><br>MySQL sagt: ".mysql_error()); // Feststellen der Anzahl der verfügbaren Datensätze. $resultID = @mysql_query("SELECT COUNT(id) FROM ".$table); $total = @mysql_result($resultID,0); // Ggf. $start korrigieren (falls Parameter in // der URL manipuliert wurde) $start = ($start >= $total) ? $total - $limit : $start; // Datenbankabfrage ausführen. $query = "SELECT id,deutsch,griechisch FROM ".$table ." WHERE deutsch like '%".$search."%' order by deutsch LIMIT ".$start.",".$limit; $resultID = @mysql_query($query); // Ergebnisse lesen und an den Client ausgeben while ($data = mysql_fetch_array($resultID)) {[/code] Dann kommt der Inhalt und danach: [code]if ($start > 0) { $newStart = ($start - $limit < 0) ? 0 : ($start-$limit); echo "<a href=".$_SERVER['PHP_SELF']."?start=".$newStart .">&lt;&lt; zurück</a>"; } if ($start + $limit < $total AND mysql_num_rows($resultID)!=0) { $newStart = $start + $limit; echo " <a href=".$_SERVER['PHP_SELF']."?start=".$newStart .">vor &gt;&gt;</a>"; }[/code] für das Vor-und Zurückblättern. Das funktioniert ja auch wunderbar. Nur habe ich ja oben eingegeben, dass ich nur die Daten angezeigt bekommen möchte, die so ähnlich sind wie $search. Auf der ersten Seite zeigt er auch wirklich nur diese Daten an. Wenn ich dann aber auf "Vor" klicke, zeigt er alle Daten aus Der Datenbank beginnend mit "A" an. Was mache ich falsch? Wieso zeigt er auf der 2. Seite nicht einfach weitere Daten an, die zu $search passen? Gruß, Üschi

Antwort 1 von son_quatsch

$start = (isset($start)) ? abs((int)$start) : 0;


sollte so aussehen

$start = (isset($_REQUEST['start'])) ? abs((int)$_REQUEST['start']) : 0;


Antwort 2 von Uesch

Danke erstmal,

aber das ändert leider nichts daran, dass er mir immer, wenn ich auf "Vor" klicke, alle Daten anzeigt...

Antwort 3 von Uesch

Ok, ich habs anders hingekriegt.

Danke trotzdem