Blätter funktion erweitern

Loddar1

Erfahrenes Mitglied
Habe jetzt das Blätterscript vom 1 Februar 2007 aus dem Forum genommen,
es auf php 8.1 angepasst und hier ist mal der Code:
PHP:
$linkurl = "index.php?sid=$sid";

if(isset($_GET['seite']))
{
$seite = preg_replace ("/[^0-9]/", "",  $_GET['seite']);
}

if(!isset($seite) || $seite == '')
{
$seite = 1;
}

$stmt = $con->prepare("SELECT COUNT(*) FROM tabelle");
$stmt->execute();
$zeilen = $stmt->get_result()->fetch_row();
$anz = ($seite-1) * $basic['seite'];
$stmt = $con->prepare("SELECT * FROM tabelle ORDER BY datum DESC LIMIT $anz,$basic[seite]");
$stmt->execute();
$resultl = $stmt->get_result();
while ($daten = $resultl->fetch_assoc())
{
## hier kommt die Ausgabe hin
}

if ($zeilen[0] > 0)
{
$navigationsleiste = sitenavi($zeilen[0], $seite, $basic['seite'], $linkurl);
echo "$navigationsleiste";
}

function sitenavi($zeilen, $seite, $pro_seite, $url)
{
$max_ausgabe = $pro_seite;
$gesamtseiten = ceil(($zeilen) / $pro_seite);
$aktuelle_seite = $seite ? $seite : 1;
$linkanzahlausgabe = 3;
$letzte = $linkanzahlausgabe + $aktuelle_seite;
 if ($letzte > $gesamtseiten)
 {
  $letzte = $gesamtseiten;
 }
 
$startback = $aktuelle_seite - $linkanzahlausgabe;

  if ($startback < 1)
  {
   $startback = 1;
  }
$navigationslinks = "&nbsp;";
 
   if ($gesamtseiten != 1 && $zeilen)
   {
    $seitenlink = "";
     if ($startback > 1)
     {
       $prevbl = $aktuelle_seite - 1;
       $seitenlink .= '&nbsp;<a title="Erste Seite" href="'.$url.'&seite=1">1</a>&nbsp;&nbsp;<a href="'.$url.'&seite='.$prevbl.'">&lt;</a>&nbsp;';
     }
   
      for ($i = $startback; $i <= $letzte; $i++)
      {
       if ($aktuelle_seite == "$i")
       {
        $seitenlink .= '&nbsp;<strong>'.$i.'</strong>&nbsp;';
       }
       else
        {
         $seitenlink .= '&nbsp;<a title="Seite '.$i.'" href="'.$url.'&seite='.$i.'">'.$i.'</a>&nbsp;';
        }
       }
     
     if ($letzte < $gesamtseiten)
     {
      $nextbl = $aktuelle_seite + 1;
      $seitenlink .= '&nbsp;<a href="'.$url.'&seite='.$nextbl.'">&gt;</a>&nbsp;&nbsp;<a title="Letzte Seite" href="'.$url.'&seite='.$gesamtseiten.'">'.$gesamtseiten.'</a>&nbsp;';
     }
   $navigationslinks = 'Seite: '.$aktuelle_seite.' von '.$gesamtseiten.' '.$seitenlink.'';
   }
   return $navigationslinks;
}
ist mit dem Link für meine Seiten angepasst, deshalb fehlt auch die verbindung zur Datenbank.
 
Zuletzt bearbeitet:

Sempervivum

Erfahrenes Mitglied
Ist das jetzt eine Erfolgsmeldung und bedeutet es, dass dieses Skript jetzt funktioniert oder gibt es Probleme damit bzw. Fragen dazu?
 

Loddar1

Erfahrenes Mitglied
Das script läuft so auf XAMPP 8.1.4 einwandfrei!

Alle Fragen konnte ich mir selber beantworten.

Wenn es jemand nutzen möchte, muß es dementsprechend angepasst werden.
 

Loddar1

Erfahrenes Mitglied
select * from
select was, der, user,, braucht from tabelle
finde ich verwirrend.
Deshalb werde ich hier immer wieder
select * from tabelle schreiben.
Erst wenn das Script funktioniert ersetze ich das * mit meinen Werten.
 

m.scatello

Erfahrenes Mitglied
Erst wenn das Script funktioniert ersetze ich das * mit meinen Werten.
Einen Euro für jedesmal, wo ich das gelesen habe. Und dann kommt lange Zeit später wieder eine Frage zu dem Script und was steht da? Immer noch "Select *". Warum nicht sofort richtig machen?

finde ich verwirrend.
Was soll daran verwirrend sein? Weil man direkt erkennt, was man aus der Datenbank holt? :( :(:(
 

Sempervivum

Erfahrenes Mitglied
select * from
select was, der, user,, braucht from tabelle
finde ich verwirrend.
Deshalb werde ich hier immer wieder
select * from tabelle schreiben.
Erst wenn das Script funktioniert ersetze ich das * mit meinen Werten.
Daumen hoch für diese Zivilcourage ;)
Ich mache es ähnlich, allgemeiner gesagt, ich bilde mir bei solchen Fragen selber ein Urteil ob es für mich einen Nutzen bringt und wende es nur dann und in dem Umfang an wo es der Fall ist.
Gibt ja eine ganze Reihe von ähnlichen Themen, über die mit Begeisterung Grundsatzdiskussionen geführt werden:
  • PHP-include vs. readfile
  • Javascript: Eventhandler inline notieren oder mit addEventListener
  • Einsatz eines KM stellt die Softwarequalität sicher
  • Javascript: Eventhandler für mehrere Elemente in einer Schleife registrieren oder Eventbubbling nutzen
  • CSS: Maßeinheit px vs. (r)em
  • Javascript am Ende des Body oder im Head
  • Grid und Flex vs. Tabellenlayout
Das mittlere und das letzte Beispiel zeigen, dass die Prüfung auch positiv ausfallen kann: Grid und Flex sind eine enorme Erleichterung. Aber es kann auch verfehlt sein, das absolut und pauschal zu sehen und zu sagen, dass Tabellen grundsätzlich und immer böse sind.
 
Zuletzt bearbeitet: