glob - Ausgabe aufteilen

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

  • glob - Ausgabe aufteilen

    Hallo PHP-Gemeinde,

    zu dieser unchristlichen Zeit würde ich euch gern noch mit einer Frage belasten. Ich habe zwar schon einiges probiert und im Forum gesucht... beides war (offensichtlich) aber erfolglos. Eventuell ein Denkfehler oder einfach garnicht umsetzbar. Naja...

    Ich lese per glob thumbnails aus einem Ordner und lasse mir diese dann als Bilder anzeigen, also...
    PHP-Code:
    foreach (glob("*.JPG") as $image) {
    echo 
    "<img src='".$image."' border=0></img>"

    Jetzt würde ich mir aber gern auf der ersten Seite nur die ersten 8 Thumbs, auf der zweiten Seite die nächsten 8, und so weiter... ausgeben lassen. Gesehen hab ich das schon oft, nur bei der Umsetzung klappts nich ganz.

    Ich habe bereits versucht das ganze per count zu machen oder in einer schleife zu regeln, aber beides war wohl zum scheitern verurteilt.

    (Falls es überhaupt möglich ist)...könnte mir bitte jemand weiterhelfen? Oder soll ich alles wegwerfen und es doch einmal mit einer DB versuchen!?!?!


    Grüße
    Tömme

  • #2
    Naja, mit der Datenbank ist das natürlich komfortabler, aber ich denke doch, es geht auch so.
    Lade doch deine Thumbnails einfach zuerst in ein Array. Mit count() kannst du dann ganz einfach rausfinden, wie viele Thumbnails du hast.

    Das könnte zum Beispiel so gehen:
    (Hab das kurz getestet, sollte funktionieren, Schlafenszeit jetzt )
    test.php
    PHP-Code:
    <?php
    $pics_per_page 
    8;
    $page = isset($_GET['page']) ? $_GET['page'] : 0;
    $pics glob("*.jpg");
    $count count($pics);
    $page_count $count $pics_per_page;
    $temp $page_count;
    $page_count round($page_count,0);
    if(
    $temp $page_count$page_count++;
    $page_count--;

    $i=0;
    while(
    $i $pics_per_page){
      if(
    $count $page $pics_per_page $i) echo "<img src='".$pics[$page $pics_per_page $i]."' border=0></img>"
      
    $i++;
    }

    if(
    $page 0) echo "<a href=\"test.php?page=".($page-1)."\">Zurueck</a> ";
    if(
    $page $page_count) echo "<a href=\"test.php?page=".($page+1)."\">Weiter</a>";
    ?>

    Kommentar


    • #3
      naja, zum thema blättern und aufteilen der daten gibts ja nicht so viele threads

      du bestimmst die seite, wo du dich befindet (ausm $_GET) nehme ich an udn berechnest daraus die bilder, die du brauchst (start, ende). außerdem brauchst ne zählvariable.

      dann durchläufst du das array, am anfang schaust du jeweils, ob du schon beim start-element angekommen bist, wenn nicht, dann continue. dann erfolgt die ausgabe. am ende der schleife schaust du jeweils, ob du schon ende erreicht hast, wenn ja break;

      DB funktioniert ähnlich, http://www.php-resource.de/forum/search.php ... wäre wohl auf dauer auch performanter ...
      Die Zeit hat ihre Kinder längst gefressen

      Kommentar


      • #4
        ...oh man, so einfach kann's gehen Algos sind nich grad meine Stärke. Dank euch beiden. Habt euren Schlaf heut verdient

        Grüße
        Tömme

        Kommentar

        Lädt...
        X