solala123
Erfahrenes Mitglied
Hallo,
die Datenbankausgabe funktioniert und auch die Begrenzung der Ausgabe mit LIMIT funktioniert auch.
was nicht funktioniert, bzw falsch funktioniert,
es sind z.B. 12 Einträge mit Plz. 91166 in der Datenbank vorhanden, es werden die ersten 3 auch richtig angezeigt, die Seitenanzahl wird mit 4 angegeben auch das stimmt.
wenn ich jetzt auf Seite 2 Blättere, dann gibt es wieder eine Berechnung der Seitenanzahl aber mit allen einträgen der Datenbank und diese kann ich auch durchblättern.
Wie kann man das verhindern, bzw. wie kann ich die 4 Seiten nur begrenzen?
hier mal mein Code:
Vielen Dank
mfg
Rainer
die Datenbankausgabe funktioniert und auch die Begrenzung der Ausgabe mit LIMIT funktioniert auch.
was nicht funktioniert, bzw falsch funktioniert,
es sind z.B. 12 Einträge mit Plz. 91166 in der Datenbank vorhanden, es werden die ersten 3 auch richtig angezeigt, die Seitenanzahl wird mit 4 angegeben auch das stimmt.
wenn ich jetzt auf Seite 2 Blättere, dann gibt es wieder eine Berechnung der Seitenanzahl aber mit allen einträgen der Datenbank und diese kann ich auch durchblättern.
Wie kann man das verhindern, bzw. wie kann ich die 4 Seiten nur begrenzen?
hier mal mein Code:
PHP:
// ======================== Anfang der Blätterfunktion ==================================
$seite = $_GET["seite"]; //Abfrage auf welcher Seite man ist
//Wenn man keine Seite angegeben hat, ist man automatisch auf Seite 1
if(!isset($seite))
{
$seite = 1;
}
//Einträge pro Seite: Hier 3 pro Seite
$eintraege_pro_seite = 3;
//Ausrechen welche Spalte man zuerst ausgeben muss:
$start = $seite * $eintraege_pro_seite - $eintraege_pro_seite;
echo "$start" . " " . "=" . " ". "$seite". " ". "*". " ". "$eintraege_pro_seite" . " ". "-". " ". "$eintraege_pro_seite". " ";
// ========================= Ende der Blätterfunktion ==================================
// ===== Anfang ==== Abfrage wieviel Treffer Zeilen es gibt ohnr Begrenzung =============
//====== Wieviele Einträge gibt es überhaupt
$query = sprintf("SELECT * FROM ResBar " .$sql ,
mysqli_real_escape_string($db_link, $garten),
mysqli_real_escape_string($db_link, $kueche),
mysqli_real_escape_string($db_link, $plz),
mysqli_real_escape_string($db_link, $ort),
mysqli_real_escape_string($db_link, $behindert),
mysqli_real_escape_string($db_link, $nacht),
mysqli_real_escape_string($db_link, $freigabe)
);
$db_erg = mysqli_query( $db_link, $query );
if ( ! $db_erg )
{ die('Ungültige Abfrage: ' . mysqli_error()); }
$num_rows = mysqli_num_rows($db_erg); // Abfragen wieviele Treffer Zeilen es gibt
echo "$num_rows Zeilen\n ohne Limit "; // Ausgabe der Zeilen
$menge = $num_rows;
// ===== Ende ==== Abfrage wieviel Treffer Zeilen es gibt ohnr Begrenzung ===============
// ===== Anfang ==== Abfrage wieviel Treffer Zeilen es gibt mit Begrenzung ==============
$query = sprintf("SELECT * FROM ResBar " .$sql . "LIMIT $start, $eintraege_pro_seite" ,
mysqli_real_escape_string($db_link, $garten),
mysqli_real_escape_string($db_link, $kueche),
mysqli_real_escape_string($db_link, $plz),
mysqli_real_escape_string($db_link, $ort),
mysqli_real_escape_string($db_link, $behindert),
mysqli_real_escape_string($db_link, $nacht),
mysqli_real_escape_string($db_link, $freigabe)
);
$db_erg = mysqli_query( $db_link, $query );
if ( ! $db_erg )
{ die('Ungültige Abfrage: ' . mysqli_error()); }
// Abfragen wieviele Zeilen ausgegeben werden
$num_rows_2 = mysqli_num_rows($db_erg);
// Ausgabe der Zeilen
echo "$num_rows_2 Zeilen\n mit bergrnzung ";
$eintraege_pro_seite = $num_rows_2;
// ===== Ende ==== Abfrage wieviel Treffer Zeilen es gibt mit Begrenzung ================
echo "<table width='100%' class='altrowstable' id='alternatecolor' >
<tbody>
<td background='images/leiste-schatten-ausgabetabelle.gif' width='5%' > Bild </td>
<td background='images/leiste-schatten-ausgabetabelle.gif'> Lokalname </td>
<td background='images/leiste-schatten-ausgabetabelle.gif'> Küche </td>
<td background='images/leiste-schatten-ausgabetabelle.gif'> Garten </td>
<td background='images/leiste-schatten-ausgabetabelle.gif'> Ruhetage </td>
<td background='images/leiste-schatten-ausgabetabelle.gif'> Über- <br>nachtung </td>
<td background='images/leiste-schatten-ausgabetabelle.gif'> Behinderten- <br>freundlich </td>
<td background='images/leiste-schatten-ausgabetabelle.gif'> Telefon </td>
<td background='images/leiste-schatten-ausgabetabelle.gif'> Postleitzahl </td>
<td background='images/leiste-schatten-ausgabetabelle.gif'> Ort </td>
<td background='images/leiste-schatten-ausgabetabelle.gif'> Straße </td>
<td background='images/leiste-schatten-ausgabetabelle.gif'> Homepage </td>
";
while ($zeile = mysqli_fetch_array( $db_erg, MYSQL_ASSOC))
{
echo "<tr>";
echo "<td>". $zeile['bild'] . "</td>";
echo "<td>". $zeile['restaurantname'] . "</td>";
echo "<td>". $zeile['kueche'] . "</td>";
echo "<td>". $zeile['garten'] . "</td>";
echo "<td>". $zeile['montag'] .' '. $zeile['dienstag'] .' '. $zeile['mittwoch'] . ' '. $zeile['donnerstag'] . ' '. $zeile['freitag'] .' ' . $zeile['samstag'] . ' '. $zeile['sonntag'] . "</td>";
echo "<td>". $zeile['nacht'] . "</td>";
echo "<td>". $zeile['behindert'] . "</td>";
echo "<td>". $zeile['telefon'] . "</td>";
echo "<td>". $zeile['plz'] . "</td>";
echo "<td>". $zeile['ort'] . "</td>";
echo "<td>". $zeile['strasse'] . "</td>";
// Escaping für Kontextwechsel nach HTML
$e = function ($s) { return htmlspecialchars($s, ENT_QUOTES, 'UTF-8'); };
//homepage Anzeige als Link
echo '<td><a href="' . $zeile['homepage'] . '">' . $zeile['homepage'] . '</a></td>';
echo "</tr>";
}
mysqli_free_result( $db_erg );
echo "</tbody></table>";
echo " "; // Leerzeile
if ( empty ($num_rows)){
echo " Keinen Treffer in Datenbank, bitte neue Suche";
}
//Errechnen wieviele Seiten es geben wird
$wieviel_seiten = $menge / $eintraege_pro_seite;
//Ausgabe der Seitenlinks:
echo "<div align=\"center\">";
echo "<b>Seite:</b> ";
//Ausgabe der Links zu den Seiten
for($a=0; $a < $wieviel_seiten; $a++)
{
$b = $a + 1;
//Wenn der User sich auf dieser Seite befindet, keinen Link ausgeben
if($seite == $b)
{
echo " <b>$b</b> ";
}
//Aus dieser Seite ist der User nicht, also einen Link ausgeben
else
{
echo " <a href=\"?seite=$b\">$b</a> ";
}
}
echo "</div>";
Vielen Dank
mfg
Rainer
Zuletzt bearbeitet: