tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
5
ZUGRIFFE
349
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    -Ener- -Ener- ist offline Mitglied Brokat
    Registriert seit
    Oct 2004
    Beiträge
    275
    Hallo, mit dem beiliegendem Script versuche ich Dateien aus meinem Ordner anzuzeigen, dabei sollen aber nur 13 stück angezeigt werden. z.Z. zeigt es 13 Datensätze, aber immer nur den gleichen 13 mal.... wie bekomm ich des hin? Soll ne Blätterfunktion werden.

    PHP-Code:
    <?php 
    $uri 
    $_SERVER['REQUEST_URI']; 
    $dir '/home/www/web55/html/tomb2/gallery/'
    $verz opendir($dir); 
    $files = array(); 
    while(
    $file readdir($verz)) { 
        if(
    $file != '.' and $file != '..'  and $file != 'dir.php') { 
       
    $files[filemtime($dir.$file)] = $file;

        } 
        


    krsort($files);
    closedir($verz); 

    $count "1";
    $count2 "1";
    $zeilen_pro_seite 13;
     
    for (
    $i=1;$i<=13;$i++) {
    foreach (
    $files as $file) {


    $time filemtime("gallery/$file/");
    $date date("d.m.Y"$time);
    $count++;
    $count2++;
    if (
    $count 2){

    $style="bgcolor=f0fcfc";
    $count "0";
    $count++;
    }
    else {
        
    $style "";
    }
    $array=scandir("gallery/$file/");
    $filecount=count($array)-2;
    }
    echo
    "<tr $style><td width=55% style=\"border:2px solid #F0FCFC\"> ▪ <span class=text1>$file</span></td><td  style=\"border:2px solid #F0FCFC\"><span class=text1>Datum: $date</span></td><td style=\"border:2px solid #F0FCFC\"><span class=text1>Fotos: $filecount</span></td></tr>";
    }

        

    ?>
     

  2. #2
    splasch splasch ist offline Mitglied Brillant
    Registriert seit
    Jul 2004
    Beiträge
    854
    Das liegt daran das du immer wieder mit 1 beginnt zu zählen da ist klar das er wieder dann von vorne anfängt.

    Du mußt auf der nächsten Seite vom alten Wert weitere 13 rauf zählen. also dann von 13 bis 26 und dann wieder von 26 bis 39 unsw. bis eben das Ende erreicht ist.

    Mfg Splasch
     

  3. #3
    -Ener- -Ener- ist offline Mitglied Brokat
    Registriert seit
    Oct 2004
    Beiträge
    275
    Welche nächste Seite? Es soll ja erstma auf der ersten Seite 13 richtige Ausgaben bringen und das funktioniert nicht. DIe Seitennavigation ist ja noch garnicht gemacht....
     

  4. #4
    Registriert seit
    May 2007
    Ort
    Köln / Bonn
    Beiträge
    844
    Blog-Einträge
    4
    Soo also du musst das ganze innerhalb der for() schleife auslesen und ausgeben. Mit der Foreach hast du nicht die möglichkeiten einfach nur einen bereich auszulesen.

    Hier mal der hinterer Teil deines Programms ein wenig abgeändert. Getestet habe ich es nicht aber so in die richtung geht auf jeden Fall die Lösung.

    PHP-Code:
    $zeilen_pro_seite 13;

    // Wir stellen sicher das $start größer als 0 und kleiner als die maximale anzahl an Elementen ist.
    $start min(max($zeilen_pro_seite * ($_GET['page'] - 1), 0), count($files));
    $end    min($zeilen_pro_seite*$_GET['page'], count($files));

    for (
    $i=$start;$i<=$end;$i++) {
        
    $file $files[$i];
        
        
    $time filemtime("gallery/$file/");
        
    $date date("d.m.Y"$time);
        if(
    is_dir("gallery/$file")){
            
    $array=scandir("gallery/$file/");
            
    $filecount=count($array)-2;
        }
        
    // Abwechselnd die Zeilen Farbig machen
        
    $style==''?'bgcolor="#f0fcfc"':'';
        echo
    "<tr $style>
            <td width=55% style=\"border:2px solid #F0FCFC\">
                <span class=text1>
    $file</span>
            </td>
            <td style=\"border:2px solid #F0FCFC\">
                <span class=text1>Datum: 
    $date</span>
            </td>
            <td style=\"border:2px solid #F0FCFC\">
                <span class=text1>Fotos: 
    $filecount</span>
            </td>
         </tr>"
    ;
    }

    // Seitenauswahl anzeigen:
    for ($i=0;$i<ceil(count($files)/$zeilen_pro_seite);$i++) {
        echo 
    "[<a href=\"?page=".($i+1)."\">".($i+1)."</a>] ";

     
    Der Computer ist die logische Weiterentwicklung des Menschen: Intelligenz ohne Moral.

  5. #5
    Registriert seit
    Jul 2007
    Ort
    Quakenbrück
    Beiträge
    756
    Ich hab für genau DIESES Problem genau das Richtige parat

    Da unten dran hängt ne File... Da drin is ne PHP-Class...
    Ne PAGER CLASS Erleichtert die Problematik mit mehreren Seiten etwas

    Zieht es euch rein und habt Spaß damit
    Angehängte Dateien Angehängte Dateien
     

  6. #6
    -Ener- -Ener- ist offline Mitglied Brokat
    Registriert seit
    Oct 2004
    Beiträge
    275
    @ Michael

    Erstmal danke für deine Mühe, das Script gibt aber trotzdem immer nur einen Ordner aus und die Seitennavigation funktioniert auch nich so richtig.

    Siehe hier: http://www.twit-design.de/tomb2/gallery.php
     

Ähnliche Themen

  1. Hervorhebung mit <em> oder <strong> funktioniert nicht?
    Von Steve2010 im Forum HTML & XHTML
    Antworten: 6
    Letzter Beitrag: 02.09.10, 21:36
  2. foreach oder was?
    Von S-lord im Forum PHP
    Antworten: 2
    Letzter Beitrag: 25.02.09, 15:42
  3. Antworten: 7
    Letzter Beitrag: 20.03.06, 10:08
  4. foreach funktioniert nicht
    Von schleckerbeck im Forum PHP
    Antworten: 2
    Letzter Beitrag: 07.12.04, 10:29
  5. echo oder include funktioniert nicht
    Von greek im Forum PHP
    Antworten: 6
    Letzter Beitrag: 13.12.03, 14:27