online 1
gast (50)

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

Skripte(PHP,ASP,Perl...)Skripte(PHP,ASP,Perl...)

Fragevon Uesch vom 01.07.2019, 16:10 Options

Seitenzahl

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:

$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))
{


Dann kommt der Inhalt und danach:

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>";
}
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 schreiben

Antwort 1 von son_quatsch vom 01.07.2019, 20:28 Options

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


sollte so aussehen

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

Antwort 2 von Uesch vom 01.07.2019, 20:34 Options

Danke erstmal,

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

Antwort 3 von Uesch vom 01.07.2019, 20:48 Options

Ok, ich habs anders hingekriegt.

Danke trotzdem

Ähnliche Themen

Nummerierung Kopfzeile
ninchen  21.04.2007 - 113 Hits - 1 Antwort

Probleme mit Word /Seitenzahl
frankT69  28.10.2007 - 264 Hits - 2 Antworten

Seitenzahlen im Inhaltsverzeichnis automatisieren
mikel_66  15.11.2007 - 84 Hits - 1 Antwort

Seitenzahl fortlaufend (Nummerierung) ab einer bestimmten Seite
KDA  19.03.2008 - 66 Hits - 1 Antwort

Hinweis

Diese Frage ist schon etwas älter, Sie können daher nicht mehr auf sie antworten. Sollte Ihre Frage noch nicht gelöst sein, stellen Sie einfach eine neue Frage im Forum..

Neue Einträge

Version: supportware 1.9.150 / 10.06.2022, Startzeit:Mon Jan 26 01:23:17 2026