Automatische Seitenerstellung

Hallo,

ich (wir) arbeiten gerade an einer Webseite für eine Schule.
Auf der Seite sollen regelmäßig News eingetragen werden.

Nun meine Frage: Ist es irgendwie möglich, dass nach ca. 10 oder 15 News-Einträgen automatisch eine zweite Seite erstellt wird.
Also ich stelle mir das so vor, dass ich auf der ersten Seite einen neuen News Eintrag erstelle und dann zum Beispiel der 10. Eintrag auf der ersten Seite, auf die zweite Seite rutscht.

Ich hoffe ihr versteht, was ich meine.

grüße

Woher kommen deine „News“?

Wenn sie aus einer Mysql Datenbank kommen, könntest du der Abfrage ein LIMIT geben. Also erstmal zählen wieviele News es gibt, und wenn news > 10 Zeilen sind, machst du LIMIT 1,10, einen neuen Link für die nächste Seite, und da wird dann LIMIT 11,20 und so weiter angewant.
Je nach dem, welche serverseitige Sprache du verwendest(php, perl etc), kann man dies gut dynamisch gestallten.

Mfg

nein, sie kommen nicht aus einer Datenbank.
Die News werden per php auf der Hauptseite includiert. Die News selber trage ich per Hand in eine php Seite ein.

Ich kenne mich mit MySQL nicht aus. Deswegen wäre es schön, wenn es so einfach wie möglich ginge.

Ich hoffe, so ist es noch halbwegs überschaubar.

[php]<?php

class NewsItem
{
public $id;
public $date;
public $title;
public $content;

public function __construct($id, $date, $title, $content)
{
    $this->id      = (int) $id;
    $this->date    = $date;
    $this->title   = $title;
    $this->content = $content;
}

}

$model[‚items‘] = array();
$model[‚items‘] = new NewsItem( 1, ‚2009-09-24 20:12:00‘, ‚Hallo Welt!‘, ‚Ein Newseintrag‘);
$model[‚items‘] = new NewsItem( 2, ‚2009-09-23 22:01:00‘, ‚Hallo Welt!‘, ‚Ein Newseintrag‘);
$model[‚items‘] = new NewsItem( 3, ‚2009-09-22 10:12:00‘, ‚Hallo Welt!‘, ‚Ein Newseintrag‘);
$model[‚items‘] = new NewsItem( 4, ‚2009-09-14 20:29:00‘, ‚Hallo Welt!‘, ‚Ein Newseintrag‘);
$model[‚items‘] = new NewsItem( 5, ‚2009-09-25 10:48:00‘, ‚Hallo Welt!‘, ‚Ein Newseintrag‘);
$model[‚items‘] = new NewsItem( 6, ‚2009-07-19 20:20:00‘, ‚Hallo Welt!‘, ‚Ein Newseintrag‘);
$model[‚items‘] = new NewsItem( 7, ‚2009-08-02 20:30:00‘, ‚Hallo Welt!‘, ‚Ein Newseintrag‘);
$model[‚items‘] = new NewsItem( 8, ‚2009-08-13 20:41:00‘, ‚Hallo Welt!‘, ‚Ein Newseintrag‘);
$model[‚items‘] = new NewsItem( 9, ‚2009-08-14 10:02:00‘, ‚Hallo Welt!‘, ‚Ein Newseintrag‘);
$model[‚items‘] = new NewsItem(10, ‚2009-08-21 20:05:00‘, ‚Hallo Welt!‘, ‚Ein Newseintrag‘);
$model[‚items‘] = new NewsItem(11, ‚2009-07-04 20:19:00‘, ‚Hallo Welt!‘, ‚Ein Newseintrag‘);
$model[‚items‘] = new NewsItem(12, ‚2009-07-08 10:28:00‘, ‚Hallo Welt!‘, ‚Ein Newseintrag‘);
$model[‚items‘] = new NewsItem(13, ‚2009-07-02 09:37:00‘, ‚Hallo Welt!‘, ‚Ein Newseintrag‘);
$model[‚items‘] = new NewsItem(14, ‚2009-06-01 09:52:00‘, ‚Hallo Welt!‘, ‚Ein Newseintrag‘);

// Nach Datum sortieren
usort($model[‚items‘], create_function(‚$a, $b‘,
‚return ($a->date < $b->date) ? 1 : -1;‘
));

// Erforderliche Parameter initialisieren
$_GET[‚page‘] = (isset($_GET[‚page‘])) ? (int) $_GET[‚page‘] : 1;

// Allgemeine Rahmenwerte
$itemsPerPage = 4;
$pagesCount = ceil(count($model[‚items‘]) / $itemsPerPage);

// Darzustellende Seite ermitteln
$page = $_GET[‚page‘];

if ($page < 1) {
$page = 1;
} else if ($page > $pagesCount) {
$page = $pagesCount;
}

// Darzustellende Einträge auswählen

$view = array();
$view[‚items‘] = array_slice($model[‚items‘],
($page - 1) * $itemsPerPage, $itemsPerPage);
$view[‚page‘] = $page;
$view[‚pagesCount‘] = $pagesCount;

// Darstellung
?>

<?php foreach ($view['items'] as $item) : ?>

<?php echo htmlspecialchars($item->title); ?>

<?php echo date('d.m.Y H:m:s', strtotime($item->date)); ?>

<?php echo htmlspecialchars($item->content); ?>

<?php endforeach; ?>

<?php if ($view['page'] > 1) : ?> << <?php endif; ?>

Seite <?php echo $view['page'] ?> von <?php echo $view['pagesCount'] ?>

<?php if ($view['page'] < $view['pagesCount']) : ?>
<a href="?page=<?php echo $view['page'] + 1; ?>">>></a>
<?php endif; ?>

[/php]