MyBB.de Forum

Normale Version: Blätterfunktion auf eigener MyBB Seite
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Guten Abend @all,

ich hatte in diesem Thread mal nach der Blätterfunktion vom MyBB geschaut. Damals hat sich mein Problem ein Tag nach dem Dragon die letzte Antwort geschrieben hat gelöst, so dass ich mich damit nicht mehr beschäftigt habe.

Jetzt möchte ich aber mit dem MyBB 1.4 eine eigene Seite erstellen, welche mir in diesem Fall die News ausgeben soll.
Leider komm ich einfach nicht mehr weiter und würd eure Hilfe brauchen.
Mein bisheriger PHP Code:
PHP-Code:
<?php
define
("KILL_GLOBALS"1);
define("IN_MYBB"1);
//define("NO_ONLINE", 1); // Wenn Seite nicht in Wer ist online-Liste auftauchen soll
 
require("global.php");
add_breadcrumb("News");

switch (
$action)
{

  default:
      
      
$query     $db->query("SELECT * FROM `my_news` LIMIT ".$start." , ".$end."");
      
      
$row     $db->fetch_array($query);
      
      if (
$db->num_rows == 0
      {
          
$error    '<img src="images/error.gif" alt="" /> Keine Eintraege vorhanden';
          
          eval(
"\$news_db_empty .= \"".$templates->get("news_db_empty")."\";"); 
        
output_page($news_db_empty);        
          
      }
      else 
      {

        
// Hier soll die Linkausgabe hin... 
        // mit Blätterfunktion

          
      
}
      

  break;
}


?>
Die Variablen $start und $end hab ich einfach mal so festgelegt, die wurden (noch) nicht definiert.
Wie kann ich jetzt am besten die Blätterfunktion nutzen?

Bin für jede Hilfe dankbar Smile
Die SQL-Anfrage ist so nicht korrekt: Als zweite Zahl hinter dem LIMIT muss die Anzahl der gewünschten Datensätze stehen, also eher sowas wie:
PHP-Code:
$query $db->query("SELECT * FROM `my_news` LIMIT ".$start." , ".$perpage); 
Das Ende hat da erstmal nix zu suchen Wink

Die Link-Leiste wird dann wie immer einfach mit
PHP-Code:
$multipage multipage($count$perpage$page$url); 
erzeugt (und entsprechend ausgegeben), wobei du vorher noch die Anzahl der News zählen müsstest ($count). ($page sollte ja als Parameter an das Script übergeben werden, $perpage sollte fest sein (wie oben in der SQL-Anfrage) und $url ist selbst erklärend ^^)
Danke für die schnelle Antwort. Smile
Hier mal mein aktualisierter Code:
PHP-Code:
default:
      
      
$page = (int)$_GET['page'];
      if ((!isset(
$page)) or ($page == 0)) 
      {
          
$page 1;
      }
      
    
$query $db->query("SELECT * FROM `my_news` LIMIT ".$start." , ".$perpage); 
      
$count $db->num_rows;
      if (
$count == 0
      {
          
$error    '<img src="images/error.gif" alt="" /> Keine Eintraege vorhanden';
          
          eval(
"\$news_db_empty .= \"".$templates->get("news_db_empty")."\";"); 
        
output_page($news_db_empty);        
          
      }
      else 
      {

        while (
$row     $db->fetch_array($query)) 
        {
            
//news^^
        
}

        
$multipage multipage($count$perpage$page$url); 
          
      }
      

  break; 
Ich hoffe ich bin auf dem richtigen Weg. Nur weiß ich nicht was $url sein soll. Für mich nicht ganz selbsterklärend. Wink

Und noch ne blöde Frage, wie kann ich die Newseinträge in der while Schleife dann im Template ausgeben? Haut das mit eval... hin?
Bzw. wie macht es das MyBB bei der Threadauflistung o.ä.? (kenn mich mit dem MyBB Code leider nicht so aus, daher so "dumme" fragen...) Angel
1. Auf per Get und Post übergebene Daten solltest du per $mybb->input zugreifen:
$page = intval($mybb->input['page']);

2. $url ist einfach die URL zu der Seite, an die dann &page=x angehangen werden soll.

3. Die Templates werden per eval eingebunden. Schau dir einfach mal den Code des MyBB an, das ist eigentlich recht unkompliziert.