ERLEDIGT
NEIN
NEIN
ANTWORTEN
6
6
ZUGRIFFE
504
504
EMPFEHLEN
-
18.09.07 11:46 #1
- Registriert seit
- Jun 2006
- Beiträge
- 31
Hallo nochmal,
hat ja das letzte Mal gut funktioniert mit der Hilfe.
Nun folgendes - ich habe eine Blätter funktion programmiert die bei mehreren Einträgen verteilt auf 12 Seiten so aussieht:
Seite: Erste | Zurück | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | Weiter | Letzte
Nun ist es ja nervig, wenn man z.B. 50 Seiten hat, dass alle Zahlen von 1 - 50 dort stehen.
Ich möchte nun nur - wenn man sich beispielsweise auf Seite 7 befindet - dass 5 Seiten angezeigt werden. Und zwar so:
Erste | Zurück | 5 | 6 | 7 | 8 | 9 | Weiter | Letzte
Ich hab schon einiges versucht, komme aber einfach zu keiner Lösung.
Könnt Ihr mir helfen?
Hier die Funktion:
Gruß fRagiLeMODPHP-Code:// [Anzahl der Beiträge], [Beiträge pro Seite], [Query String], [zusätzlicher Query String]
function browsePages($items, $itemsPerPage, $queryString, $extendedQueryString)
{
// Wenn mehrere Query Strings angegeben sind wird & als Oberator gewählt, ansonsten ?
if($extendedQueryString == '')
$operator = '?';
else
$operator = '&';
// Seitenanzahl bestimmen
if($items > $itemsPerPage)
{
$pages = intval($items / $itemsPerPage);
if($items % $itemsPerPage)
$pages++;
echo _PAGES.': ';
}
// Eine Seite zurück & Startseite
if($_GET[$queryString] != 0)
{
$iNegativeQS = $_GET[$queryString] - $itemsPerPage;
echo '
<a href="'.$_SERVER[PHP_SELF].$extendedQueryString.$operator.$queryString.'=0">'._FIRST.'</a> |
<a href="'.$_SERVER[PHP_SELF].$extendedQueryString.$operator.$queryString.'='.$iNegativeQS.'">'.GO_BACK.'</a> | ';
}
// Seiten auflisten
for($i = 1; $i <= $pages; $i++)
{
$j = ($i - 1) * $itemsPerPage;
if($_GET[$queryString] == $j)
echo '<b>'.$i.'</b> | ';
else // Beispiel: index.php ( ?category=$i ) ? // & page = $j
echo '<a href="'.$_SERVER[PHP_SELF].$extendedQueryString.$operator.$queryString.'='.$j.'">'.$i.'</a> | ';
}
$iLastPage = ($pages * $itemsPerPage) - $itemsPerPage;
// Eine Seite weiter & letzte Seite
if($_GET[$queryString] != $iLastPage)
{
$iPositiveQS = $_GET[$queryString] + $itemsPerPage;
echo '
<a href="'.$_SERVER[PHP_SELF].$extendedQueryString.$operator.$queryString.'='.$iPositiveQS.'">'.GO_FORWARD.'</a> |
<a href="'.$_SERVER[PHP_SELF].$extendedQueryString.$operator.$queryString.'='.$iLastPage.'">'._LAST.'</a>';
}
}
-
19.09.07 07:51 #2
- Registriert seit
- Jun 2006
- Beiträge
- 31
Weiß das wirklich keiner?
-
19.09.07 08:11 #3CIX88 Tutorials.de Gastzugang
Vielleicht bringt dich das auf eine andere Idee:
http://www.cix88.de/cix_php/php_bere...tion_mysql.php
http://www.cix88.de/cix_php/php_bere...ql_und_csv.php
EDIT:
Kann man auch ganz schenll für lesbare URLs (SEO) umschreiben.
-
19.09.07 08:33 #4
- Registriert seit
- Jun 2006
- Beiträge
- 31
Au ja, sehr schön.
Werd ich meine Funktion mal in ein paar Punkten erweitern.
Deine Seite wurde "gebookmarkt"
Vielen Dank!
-
Hallo!
Das ist eig gar nicht so schwer, ich hab das selbst erst vor kurzem gemacht. Du must einfach for ein wenig neu berechnen lassen.
so ungefähr sollte das fuktionieren vllt hilft es dir ja.PHP-Code:<?php
for($i = $aktuelleseite - 2; $i <= $aktuelleseite + 2; $i++)
{}
Gruß
5im0n
-
21.09.07 08:57 #6
- Registriert seit
- Jun 2006
- Beiträge
- 31
Danke, habe letzteres mal ausprobiert und nach ein wenig rumprobieren und tüfteln t es nun bestens.
Hier der Code für alle, die es interessiert
Einbau in eine Seite, wo die Blätterfunktion verwendet werden soll. (auf MySQL Basis)
Beispiel Request:
Beispiel MySQL Query:PHP-Code:if(!isset($_REQUEST[seite]))
$queryString = 0;
else
$queryString = $_REQUEST[seite];
Beispiel Einbau der Funktion:PHP-Code:$query = mysql_query("SELECT * FROM ".$tabelle." ORDER BY name DESC LIMIT ".$queryString*$downloadsProSeite.", ".$downloadsProSeite, $verbindung) or die(mysql_error());
$queryNum = mysql_query("SELECT * FROM ".$tabelle, $verbindung) or die(mysql_error());
Die Funktion selberPHP-Code:include_once 'browsePages.php';
// Blätterfunktion einbinden - [Anzahl der Beiträge], [Beiträge pro Seite], [Query String], [zusätzlicher Query String]
browsePages(mysql_num_rows($queryNum), $downloadsProSeite, 'seite', '');
Funktion in Datei browsePages.php
Und so sieht möglicherweise die Ausgabe aus (maximal 3 auswählbare Seiten vor und nach der aktuellen Seite):PHP-Code:// Blätterfunktion
function browsePages($items, $itemsPerPage, $queryString, $extendedQueryString)
{
// Wenn mehrere Query Strings angegeben sind wird & als Oberator gewählt, ansonsten ?
if($extendedQueryString == '')
$operator = '?';
else
$operator = '&';
// Wenn mehr vorhanden Einträge, als auf eine Seite Passen, dann starte Berechnung & Ausgabe
if($items > $itemsPerPage)
{
// Seitenanzahl bestimmen
$pages = intval($items / $itemsPerPage);
if($items % $itemsPerPage)
$pages++;
echo _PAGES.': ';
// Eine Seite zurück & Startseite
if($_GET[$queryString] != 0)
{
$iNegativeQS = $_GET[$queryString] - $itemsPerPage;
echo '
<a href="'.$_SERVER[PHP_SELF].$extendedQueryString.$operator.$queryString.'=0">'._FIRST.'</a> -
<a href="'.$_SERVER[PHP_SELF].$extendedQueryString.$operator.$queryString.'='.$iNegativeQS.'">'.GO_BACK.'</a> - ';
}
$iLastPage = ($pages * $itemsPerPage) - $itemsPerPage;
// Seiten auflisten
for($i = $_GET[$queryString] - 3; $i <= $_GET[$queryString] + 3; $i++)
{
if(!($i <= -1) && !($i > ($iLastPage / $itemsPerPage)))///
{
$showNumber = $i + 1;
if($_GET[$queryString] == $i)
echo '['.$showNumber.'] ';
else // Beispiel: index.php ( ?category=$i ) ? // & page = $j
echo '<a href="'.$_SERVER[PHP_SELF].$extendedQueryString.$operator.$queryString.'='.$i.'">'.$showNumber.'</a> ';
}
}
// Eine Seite weiter & letzte Seite
if($_GET[$queryString] != ($iLastPage / $itemsPerPage))
{
$iPositiveQS = ($_GET[$queryString] + ($itemsPerPage / $itemsPerPage));
echo '
- <a href="'.$_SERVER[PHP_SELF].$extendedQueryString.$operator.$queryString.'='.$iPositiveQS.'">'.GO_FORWARD.'</a>
- <a href="'.$_SERVER[PHP_SELF].$extendedQueryString.$operator.$queryString.'='.($iLastPage / $itemsPerPage).'">'._LAST.'</a>';
}
}
}
Seite: Erste - Zurück - 1 [2] 3 4 5 - Weiter - Letzte
Viele Grüße
fRagiLeMODGeändert von fRagiLeMOD (21.09.07 um 09:01 Uhr)
-
hi,
wie kann ich das ganze mit so einer SQL Anweisung aufrufen?
habe ein paar versuche gestartet aber hat leider nicht geklapptPHP-Code:$sql = mysql_query("SELECT * FROM replaydb WHERE anzahlsp=2 order by fileID DESC LIMIT ". $offset. ", 7");
while ($ds = mysql_fetch_object($sql))
{
$id = $ds ->fileID;
$gewinner = $ds ->TeamB;
$verlierer = $ds -> TeamA;
$mapname = $ds ->MapName;
$dauer = $ds ->Dauer;
$datum = $ds ->Datum;
$matchup =$ds ->MatchUp;
$rasseg =$ds ->rasseg;
$rassev =$ds ->rassev;
$replay =$ds ->ReplayPfad;
echo "
<tr onmouseover=\"this.style.backgroundColor='#ccc';\" onmouseout=\"this.style.backgroundColor='';\" ><td width='200px' class=\"1px-rahmen\"><img src=img/$rasseg.png> $gewinner</td> <td width='20px'class=\"1px-rahmen\">Vs.</td> <td width='200px' class=\"1px-rahmen\"> <img src=img/$rassev.png>$verlierer </td> <td class=\"1px-rahmen\">$matchup</td> <td class=\"1px-rahmen\">$dauer Min.</td><td class=\"1px-rahmen\">$mapname</td><td class=\"1px-rahmen\"><a href=\"Detailsreppgl.php?path=$replay\"><img src=\"img/details.gif\" border=\"0\"></a></td><td class=\"1px-rahmen\"><a href=\"downloadpgl.php?filepub=$replay\"><img src=\"img/disk.gif\" border=\"0\"></a></td>
";
}
Ähnliche Themen
-
Blätterfunktion via JS
Von aargau im Forum Javascript & AjaxAntworten: 5Letzter Beitrag: 02.10.08, 17:18 -
Blätterfunktion PHP
Von MirakFH im Forum PHPAntworten: 9Letzter Beitrag: 28.02.06, 17:02 -
Blätterfunktion mit PHP
Von Iceman8712 im Forum PHPAntworten: 9Letzter Beitrag: 19.08.05, 10:07 -
A bis Z in Blätterfunktion
Von Detlev im Forum PHPAntworten: 12Letzter Beitrag: 13.10.04, 12:17 -
GB+Blätterfunktion
Von MajorWindbeutel im Forum PHPAntworten: 8Letzter Beitrag: 29.01.04, 14:39





Zitieren
Login






[PHP][Snippet] Array zu XML konvertieren