Hallo,
hab den unten stehenden code bekommen und könnte hilfe gebrauchen....
es geht um folgende zeile
$start = count( $liste ) - ( ($_GET['page'] - 1) * 3 ) - 1;
Frage:
Ich weiß nicht was die letzte -1 außerhalb der Klammer, bedeutet ?
- es gibt 3 Einträge pro Seite
- und 10 Elemente
und da der array bei 0 beginnt, muß ich ein element abziehen, daher die -1 in der Klammer, hat man mir gesagt
- die Seitenelemente werden so ausgegeben, das der aktuellste oben ist
// die seitenelemente rückwärts ausgeben
for( $i = $start ; $i > $end && $i >= 0 ; $i -= 1 )
{
$message = $liste[$i];
soll ich noch mehr angaben machen...weitere dateien uploaden ?
danke und Gruß
pre
hier der code: (unten auch als datei-anhang)
hab den unten stehenden code bekommen und könnte hilfe gebrauchen....
es geht um folgende zeile
$start = count( $liste ) - ( ($_GET['page'] - 1) * 3 ) - 1;
Frage:
Ich weiß nicht was die letzte -1 außerhalb der Klammer, bedeutet ?
- es gibt 3 Einträge pro Seite
- und 10 Elemente
und da der array bei 0 beginnt, muß ich ein element abziehen, daher die -1 in der Klammer, hat man mir gesagt
- die Seitenelemente werden so ausgegeben, das der aktuellste oben ist
// die seitenelemente rückwärts ausgeben
for( $i = $start ; $i > $end && $i >= 0 ; $i -= 1 )
{
$message = $liste[$i];
soll ich noch mehr angaben machen...weitere dateien uploaden ?
danke und Gruß
pre
hier der code: (unten auch als datei-anhang)
PHP-Code:
<h2>Letzte Shouts:</h2>
<?php
// nachrichtenliste einlesen
$eingeleseneDaten = file_get_contents( APP_PATH . 'msg.txt' );
$liste = json_decode( $eingeleseneDaten , true );
// anzahl der seiten berechnen und auf ganze zahlen abrunden
$anzahlSeiten = ceil( count( $liste ) / 3 );
// seitenlinks ausgeben
for( $i = 1 ; $i <= $anzahlSeiten ; $i += 1 )
{
echo '<a href="index.php?page=' . $i . '">[' . $i . ']</a>'; // warum ?page ?????
}
?>
<ul>
<?php
// nachrichten ausgeben
// wenn eine Seitenzahl gegeben ist
if( isset( $_GET['page'] ) )
{
// 1) da array bei 0 beginnt
// 2) 3 einträge pro seite
// 3) damit er eine 1 Seite überspringt ???
$start = count( $liste ) - ( ($_GET['page'] - 1) * 3 ) - 1;
}
else
{
// wenn keine Seitenzahl gegeben ist
// einen Standardwert wählen
$start = count( $liste ) - 1; // weil vom größeren zum kleineren Wert gezählt wird
}
$end = $start - 3;
// die seitenelemente rückwärts ausgeben
for( $i = $start ; $i > $end && $i >= 0 ; $i -= 1 )
{
$message = $liste[$i];
// jeder dritte eintrag ist gelb
if( $i % 3 == 0 )
{
$class = 'yellow';
}
// jeder zweite ist rot
elseif( $i % 2 == 0 )
{
$class = 'red';
}
// alle anderen sind grün
else
{
$class = 'green';
}
echo '<li class="' . $class . '">';
echo '<h3>' . $message['name'] . '</h3>';
echo '<h4>' . strftime( '%d.%m.%Y %H:%M:%S' , $message['time'] ) . '</h4>';
echo $message['message'];
echo '</li>';
}
?>
</ul>
Kommentar