Ankündigung

Einklappen
Keine Ankündigung bisher.

Sort Array

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • raupe_90
    hat ein Thema erstellt Sort Array.

    Sort Array

    Hallo, irgendwie komme nicht weiter. ich weiss, dass man mit filemtime sortiert, aber in den fertigen code einzubauen wirft mir immer einen fehler.
    ich lese bilder aus dem ordner heraus und gebe sie dann in einer tabelle aus. ich hätte gerne die modified-sortierung... weiss jemand den rat?
    hier mein snippet, der code funktioniert tadellos, allerdings kommen bilder alphabetisch...

    PHP-Code:
    <?
     $dir = 'img/thumbs'; 
     $handle = opendir($dir);
    while(false!==($file = readdir($handle))) 
            { 
    if ($file != "." && $file != "..") {
        $fields = array(
    'Make'
        );
    foreach($fields as $field)
     echo "<table><tr><td align='center'>";
     echo "<img border=0 src=".$dir.'/'.$file.">";
     echo "</td></tr></table>";
     $i++; 


         if ($i % 7 == 0) { 
            
    //hier der rest von einer anderen tabelle...
    echo "</tr><tr>"; 
         }  
    }  

     
            closedir($handle); 

    ?>
    Für jede Hilfe sehr dankbar!

  • ChrisB
    antwortet
    Zitat von raupe_90 Beitrag anzeigen
    deswegen bin ich hier, und suche jemanden, der zu diesem code eine sortierung nach dem datum (modified) hinfügt.
    Wir sind hier nicht bei „mach mal mein Script fertig“.

    ich habe alle erdenkliche kombinationen probiert
    Davon sehen wir hier aber wenig.

    Beschreibe bitte, was du probiert hast (Code), und vor allem, was du dir dabei gedacht hast. Dann können wir das zusammen diskutieren, und dir sagen, wo du vielleicht in die falsche Richtung gedacht hast.

    Wenn du schon ein zweidimensionales Array vorliegen hast, wo du Dateiname und mtime nebeneinander als Info abgelegt hast - dann ist es eigentlich nicht mehr besonders schwierig oder anspruchsvoll, das zu sortieren.
    Bspw. mit usort geht das sehr gut - da muss man sich nur noch eine kleine Vergleichsfunktion schreiben, die zwei Array-Elemente übergeben bekommt, sie vergleicht, und je nachdem welches von beiden „größer“ ist, einen entsprechenden Rückgabewert liefert.

    aber in den fertigen code einzubauen wirft mir immer einen fehler.
    Das ist auch eine von den Aussagen, die überhaupt nicht weiterhelfen.
    Wenn du Fehler bekommst, dann zeige uns den Code, der den Fehler auslöst, und vor allem - zitiere die Fehlermeldung im exakten Wortlaut.

    Einen Kommentar schreiben:


  • raupe_90
    antwortet
    ja und nein... eigentlich wollte ich nur der code, der oben kopiert ist, erweitern, aber ich habe es nicht geschafft. deswegen bin ich hier, und suche jemanden, der zu diesem code eine sortierung nach dem datum (modified) hinfügt. ich habe alle erdenkliche kombinationen probiert, aber für einen hobbyprogrammierer ist zu kompliziert.

    Einen Kommentar schreiben:


  • ByStones
    antwortet
    PHP-Code:
    foreach($fields as $field)
     echo 
    "<table><tr><td align='center'>";
     echo 
    "<img border=0 src=".$dir.'/'.$file.">";
     echo 
    "</td></tr></table>"
    Dass hier nur die erste Zeile nach foreach ausgeführt wird und damit ein Haufen Tabellen-Tags geschrieben werden ist also geplant ?

    Einen Kommentar schreiben:


  • Asipak
    antwortet
    Wie man Arrays verarbeitet, gehört zu den Grundlagen und sollte dir daher bekannt sein. Andernfalls solltest du dir noch mal ein Tutorial zum Umgang mit Arrays anschauen.

    Einen Kommentar schreiben:


  • raupe_90
    antwortet
    Zitat von Asipak Beitrag anzeigen
    Mit der Funktion alleine sicherlich nicht.
    Das heißt was?

    Falls es dir darum geht, ausgelesene Dateien nach dem Änderungsdatum zu sortieren, kannst du dir mal Dateien nach Datum sortieren - Codeschnipsel - hallophp.de durchlesen.
    Habe ich durchgelesen: leider kann ich die ausgabe des codes nicht verändern...
    ich bekomme folgendes:
    PHP-Code:
    Array
    (
        [
    0] => Array
            (
                [
    filename] => thumbs
                
    [filetime] => 1279043592
            
    )

        [
    1] => Array
            (
                [
    filename] => foto01.jpg
                
    [filetime] => 1279043437
            
    )

        [
    2] => Array
            (
                [
    filename] => foto02.jpg
                
    [filetime] => 1279033146
            
    )

    )

    Ich hätte gerne lediglich die jpg-dateien, sobald ich aber die filetime auskommentiere, funktioniert der code auch nicht. tue ich bei der print_r ausgabe lediglich $files [filename] , kommt dann nur das eine bild.

    Einen Kommentar schreiben:


  • Asipak
    antwortet
    Zitat von raupe_90 Beitrag anzeigen
    So wie geschrieben - funktioniert. Sortierung bekomme ich nicht hin...
    Und mein Posting ignorierst du einfach mal eiskalt?

    Einen Kommentar schreiben:


  • raupe_90
    antwortet
    Zitat von ByStones Beitrag anzeigen
    Kann ich mir kaum vorstellen...

    Seh erstmal nach deinen { und }.
    Dann rück den Code ordentlich ein.
    Dann noch ein error_reporting(E_ALL) an den Anfang.
    So wie geschrieben - funktioniert. Sortierung bekomme ich nicht hin...

    Einen Kommentar schreiben:


  • Asipak
    antwortet
    ich weiss, dass man mit filemtime sortiert,
    Mit der Funktion alleine sicherlich nicht.
    ich hätte gerne die modified-sortierung
    Das heißt was?

    Falls es dir darum geht, ausgelesene Dateien nach dem Änderungsdatum zu sortieren, kannst du dir mal Dateien nach Datum sortieren - Codeschnipsel - hallophp.de durchlesen.

    Einen Kommentar schreiben:


  • ByStones
    antwortet
    der code funktioniert tadellos
    Kann ich mir kaum vorstellen...

    Seh erstmal nach deinen { und }.
    Dann rück den Code ordentlich ein.
    Dann noch ein error_reporting(E_ALL) an den Anfang.

    Einen Kommentar schreiben:

Lädt...
X