Thread Verfasser: matze_two
Thread ID: 1029
Thread Info
Es gibt 3 Beiträge zu diesem Thema, und es wurde 1987 Mal angesehen.
 Thema drucken
Pagenavi bei Auslesen
matze_two
Habe da mal eine Frage ob es geht weis ich nicht vieleicht hat da noch einer Idee. Erst mal der Ansatz. Es ist ja möglich per PHP alle Dateien aus einem Ordner auslesen zu lassen. In meinem Fall ist es Ordner mit Grafiken. Ich habe die Größe,wie die Grafik heist in eine Tabelle gepackt das es von der Ansicht her schon mal ordentlich aussieht. Das Auslesen usw. ist kein Problem jetzt wollte ich dort, da es einige Grafiken sind eine Pagenavi setzen.

Und nein...gleich vorne weg die Grafiken haben keine ID, da wäre es mir schon klar wie ich das einbaue, aber geht das auch das auch OHNE eine DB.

Hier mein Ansatz was momentan fertig ist:

Code
opentable("Übersicht");
//Hier sind checkrights gesetzt mit alldazugehörigen Definitionen//

$pfad = "HIER SPRECHE ICH DIE INFUSION AN MIT DEM ORDNER";
$i = 0;
$dh = opendir($pfad);
while ($datei = readdir($dh)) {
if($datei !== "" &&
!is_dir($datei)) {
$i++;
}
}
$alledateien = scandir($pfad);
echo "<center>Im Ordner <i>images</i> befinden sich insgesamt $i Dateien</center>";
echo "<table cellpadding='6' cellspacing='1' width='60%' class='tbl-border center' style=' border: 1px dotted #000000;'>";
echo "<tr><td class='sub' style='text-align:center;font-weight:bold;' width='10%'>Grafikname</td>";
echo "<td class='sub' style='text-align:center;font-weight:bold;' width='10%'>Anzeige</td>";
echo "<td class='sub' style='text-align:center;font-weight:bold;' width='10%'>Gr&ouml;&szlig;e</td></tr>";
foreach ($alledateien as $datei) {
if ($datei != "." && $datei != ".."  && $datei != "_notes") {
$size = ceil(filesize($pfad."/".$datei)/1024);
echo "<tr><td align='left' class='tbl2'><font color='red'>".$datei."<br /></font></td>";
echo "<td class='tbl2' style='text-align:center;font-weight:bold;' width='10%'>GRAFIKANZEIGE</td>";
echo "<td class='tbl2' style='text-align:center;font-weight:bold;' width='10%'>$size kb</td></tr>";
}
}
echo "</td></tr></table>";
closetable();



Danke im Vorraus für die Mühe.
 
SuNflOw
Erstmal würde ich die in Fusion integrierte Funktion 'makefilelist' benutzen. Diese erstellt dir dann eine List mit allen Dateien im Ordner.
Also dies löschen:
Code
$i = 0;
$dh = opendir($pfad);
while ($datei = readdir($dh)) {
if($datei !== "" &&
!is_dir($datei)) {
$i++;
}
}
$alledateien = scandir($pfad);

Dann daraus machen:
Code
$files = makefilelist($pfad, '.|..', true, 'folders');
$rowstart = isset($_GET['rowstart']) && isnum($_GET['rowstart']) && $_GET['rowstart'] > 0 && $_GET['rowstart'] < count($files) ? $_GET['rowstart'] : 0;
$rows_per_page = 10;

Danach dein Tabellen Zeugs bis zu dieser Zeile:
Code
foreach ($alledateien as $datei) {

ersetzt du bis zum Ende alles mit:
Code
for($i = $rowstart; $i < ($rowstart + $rows_per_page); $i++) {
  $datei = $files[$i];
  if ($datei != "." && $datei != ".."  && $datei != "_notes") {
    $size = ceil(filesize($pfad."/".$datei)/1024);
     echo "<tr><td align='left' class='tbl2'><font color='red'>".$datei."<br /></font></td>";
    echo "<td class='tbl2' style='text-align:center font-weight:bold;' width='10%'>GRAFIKANZEIGE</td>";
    echo "<td class='tbl2' style='text-align:center;font-weight:bold;' width='10%'>$size kb</td></tr>";
  }
}
echo "</td></tr></table>";
if(count($files) > $rows_per_page) makepagenav($rowstart, $rows_per_page, count($files), 2, $link = FUSION_SELF, $getname = "rowstart");
closetable();

________________________________________________
I got my swim trunks and my Flippie-Floppies *-*
 
matze_two
werde mal das testen......wen das klappt bist du super. Bin da bloss mit der while nicht so zu rechtgekommen. danke erst mal @SunfloW1991

Zusammengefügt am 01. August 2016 um 14:06:05:
Hmm....zu früh gefreut. Entferne ich das:
Code
foreach ($alledateien as $datei) {

Ist das auslesen der Grafiken nicht mehr möglich.Füge ich diese Variable hinzu wird die liste undendlich lang. Irgenwie ist da noch nen Denkfehler drin.

Zusammengefügt am 16. August 2016 um 22:07:37:
Problem wurde ,,Gelöst,,. danke für die Tips
Bearbeitet von matze_two am 16.08.2016 um 22:07
 
Springe ins Forum: