ERLEDIGT
JA
JA
ANTWORTEN
4
4
ZUGRIFFE
387
387
EMPFEHLEN
-
Hey,
ich habe wieder mal Probleme miter Blätterfunktion, wusste jedoch nicht, ob ich das alte Thema weiterbenutzen sollte, also hab ichn neues gemacht :P
Also. Ich will folgende Darstellung bewirken:
Die Seite, auf der man sich befindet, soll hervorgehoben werden. Like so:
1 - 2 - 3 - 4
Das habe ich schon mit if probiert und so, geht aber nicht wirklich
Dann will ich folgende Darstellung haben, damit es nicht so unübersichtlich bei vielen Seiten wird:
.. 1 - 2 - 3 ..
Das halt immer nur ein paar seiten gezeigt werden.
Wie programmiert man das?
David
-
das kommt drauf an wie du das bis jetz gelöst hast!
am besten du postest mal deinen code...oder sag zumindest was über die struktur
du brauchst hald ne variable die dir sagt wieviele seiten es insgesamt gibt
und ne variable in der du festhälsts, welche seite dir gerade angezeigt wird
wenn du dann die seitenzahlen (..1-2-3...) ausgeben willst könnte das so aussehen:
PHP-Code:for($i = 0; $i < $seiten_gesamt; $i++){
if(($aktuelle_seite - 1) == $i){
print '...'.$i.'-';
} else if($aktuelle_seite == $i){
print $i.'-';
} else if(($aktuelle_seite + 1) == $i) {
print $i.'...';
}
}
p.S.: hab den code natürlich nicht getestet!
-
Also das mit dem Hervorheben ist einfach.
Ich gehe mal davon aus, dass wir eine test.php Datei haben, welche jeweils in der Form "test.php?page=1" aufgerufen wird.
Dein zweiter Punkt ist nicht so einfach zu realisieren... hab da aber mal ein Script geschrieben. Wenn ichs find poste ich es noch.PHP-Code:<?php
for ($i=1;$i<=$limit;$i++) {
if ($_GET['page'] == $i) {
echo "<strong>".$i."</strong> ";
}else{
echo $i." ";
}
}
?>
Gruß,
cAm3eel.
-
Hey,
danke schonmal für die Antworten.
Das hier ist mein Code
PHP-Code:<div class="ptitel">News</div>
<?php
$sql = "SELECT * FROM news"; //Anstatt 'Tabelle' natürlich die betreffende Tabelle auswählen
$eintrage = mysql_num_rows(mysql_query($sql)); //Die Einträge der Tabelle herausholen
$maxproseite = 5; //Statt der 5 die maximale Anzahl der Einträe pro Seite angeben
$seiten = $eintrage / $maxproseite; //Anzahl der Seiten errechnen
if ($eintrage == "")
{
//wenn keine einträge da sind, fehler-meldung
echo "<div class=\"fehler\">Es sind keine News eingetragen worden</div>";
}
else
{ //sonst die ganz normale abfrage
if (!isset($_GET['page']))
{ //normalabfrage, wenn keine Seite gegeben ist.
$sql = "SELECT * FROM news ORDER BY id DESC LIMIT 0,".$maxproseite.";";
}
else
{ //Abfrage, wenn eine Seitenzahl gegeben ist.
$abeintrag = $_GET['page'] * $maxproseite - $maxproseite;
$sql = "SELECT * FROM news ORDER BY id DESC LIMIT ".$abeintrag.",".$maxproseite.";";
}
$news = mysql_query($sql);
function newsblaetter($eintrage, $maxproseite, $seiten) //die funktion für das blättern
{
//seiten errechnen:
$last = $_GET['page']-1;
if (!isset($_GET['page']))
{
$next = 2;
}
else
{
$next = $_GET['page']+1;
}
$lastp = round($seiten);
echo "<div align=\"center\">";
//verlinkung zur vorigen seite
if ((!isset($_GET['page'])) OR ($_GET['page'] == 1))
{
echo ""; //wenn man auf der 1. ist, gibt es kein zurück^^
}
else
{
//andererseites zurück
echo "<a href=\"?section=index&page=$last\"><<</a> · ";
}
//hier alle seiten ausgeben
for($i = 1; $i - 1 < $seiten; $i++)
{ //Ausgabe der Linkliste
if ($lastp == 0)
{
echo "<a href=\"?section=index&page=".$i."\">".$i."</a>";
}
else
{
echo "<a href=\"?section=index&page=".$i."\">".$i."</a> · ";
}
}
//die verlinkung >> (für die nächste seite
if ($_GET['page'] == $lastp)
{
echo ""; //falls man auf der letzten seite ist, keine verlinkung
}
else
{
echo "<a href=\"?section=index&page=$next\">>></a>"; //wenn man auf einer anderen ist, kann man auf weiterklicken
}
echo "</div>";
}
newsblaetter($eintrage, $maxproseite, $seiten); //ausgeben der seiten
echo "<p />";
$z = 0;
while ($n = mysql_fetch_array($news))
{
//user auslesen
$user = mysql_query("SELECT * FROM user WHERE `id`=".$n['aid']."");
$u = mysql_fetch_array($user);
if ($z%2 == 0) //die unterschiedlichen zeilenfarben ermitteln
{
echo "<div class=\"eintrag1\">";
}
else
{
echo "<div class=\"eintrag2\">";
}
echo "<b>".$n['titel']."</b>";
echo "<br />";
echo "".nl2br($n['news'])."";
echo "<br />";
echo "<div align=\"right\">Verfasst von ".$u['nickname']." / ".$n['erstellt']."</div>";
echo "<p />";
echo "</div>";
$z++;
}
echo "<p />";
newsblaetter($eintrage, $maxproseite, $seiten); //ausgeben der seiten
echo "<p />";
} //prüfung der einträge beenden
?>
-
Gerade frisch aus der Presse: mein Blätterfunktion-Tutorial.
Markus Wulftange
Ähnliche Themen
-
[CSS] Wie kann ich die aktuell geöffnete Seite im Navigationsmenü hervorheben?
Von Maik im Forum Webmaster FAQAntworten: 0Letzter Beitrag: 20.06.10, 02:02 -
Gerade besuchte Seite hervorheben
Von AnjaR im Forum CSSAntworten: 4Letzter Beitrag: 16.06.10, 11:13 -
Aktuelle Seite farblich hervorheben?
Von mareikiii im Forum PHPAntworten: 1Letzter Beitrag: 23.10.08, 18:05 -
Aktuelle Seite hervorheben
Von xollo im Forum PHPAntworten: 3Letzter Beitrag: 24.07.07, 07:33 -
Wärend des hochladens Seite zeigen
Von StefanR im Forum PHPAntworten: 5Letzter Beitrag: 21.12.04, 18:15





Zitieren
Login






[PHP][Snippet] Array zu XML konvertieren