cwenet
Beiträge: 379
Registriert: 16. Feb 2006, 10:13
Wohnort: Lake Constance

Pagination class Hilfe beim Blättern (R5.4.0)

11. Nov 2017, 16:54

Hallo,

ich versuche gerade die Pagination Klasse in einem Modul zu verwenden.
https://friendsofredaxo.github.io/trick ... ation.html

Code: Alles auswählen

<?php 
$anzahl = 1;

$page = $_GET[page];

$db_table = "rex_mytable";
$sql = rex_sql::factory();
$sql->setDebug(true); //Ausgabe Query
$sql->setQuery("SELECT * FROM $db_table limit $page, $anzahl");
$total = $sql->getRows();


foreach($sql as $row)
{

if ($row->getValue("titel") != "")
  {
    $titel = $row->getValue("titel");
	echo $titel."<br />";
	$bild = $row->getValue("bild");
	echo '<img src="index.php?rex_media_type=yform_mini&rex_media_file='.$bild.'"><hr />';
  }
  
}
$pagination = new Pagination($total, $page, $limit);

echo $pagination->show();

?>  
Irgendwie will das nicht klappen. Es werden zwar Datensätze ausgegeben beim Blättern, aber auch dieser Fehler: Division by zero
Das Backend ist dann bei diesem Artikel nicht mehr erreichbar.
Die Klasse habe ich hier abgelegt: /redaxo/src/addons/project/lib/

Bitte um Hilfe
Gruß
Christoph

cwenet
Beiträge: 379
Registriert: 16. Feb 2006, 10:13
Wohnort: Lake Constance

Re: Pagination class Hilfe beim Blättern (R5.4.0)

12. Nov 2017, 13:19

Guten Tag,

hat mir ja keine Ruhe gelassen. Es läuft fast:

Code: Alles auswählen

<?php 
if(rex::isBackend()) {
echo "Anzahl pro Seite: REX_VALUE[1]";
} else {

$anzahl = "REX_VALUE[1]";

$page = preg_replace( '/[^0-9]/', '0', $_REQUEST[page]); //Nur Zahlen sind erlaubt
if ($page == ""){
	$page = 1;
}


$db_table = "rex_mytable";
$sql = rex_sql::factory();
$sql->setDebug(false);
$sql->setQuery("SELECT * FROM $db_table WHERE status=1");
$total = $sql->getRows();


$sql->setQuery("SELECT * FROM $db_table WHERE status=1 ORDER BY prio ASC limit $page, $anzahl ");


foreach($sql as $row)
{

if ($row->getValue("titel") != "")
  {
    $titel = $row->getValue("titel");
	echo $titel."<br />";
	$bild = $row->getValue("bild");
	echo '<img src="index.php?rex_media_type=yform_mini&rex_media_file='.$bild.'"><hr />';
  }
  
}
$pagination = new Pagination($total, $page, $anzahl);
$pagination->setOption("show_max", 5); // Anzahl der Links, die um die aktuelle Seite angezeigt werden.
$pagination->setOption("show_neighbours", true); // Zeige Zurück/Vor Link
echo $pagination->show();
}
?>  
Nur bekomme ich das mit dem Versatz nicht hin.
Mysql zählt ab Null (0). Die Navigation beginnt aber immer mit page=1.
Selbst wenn ich eine Korrektur vornehme und immer 1 abziehe, passt dann die Navigation wieder nicht.
Sehe den Wald vor lauter Bäumen nicht.

Bitte um Hilfe.
Schönen Sonntag
Christoph

Zurück zu „Allgemeines [R5]“

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 2 Gäste