DarkourX: Blätterfunktion ohne DB anbindung.

Hallo Leute,
unzwar habe ich ein kleines problem... ich brauche dringend eine blätterfunktion für die darstellung der Fotos. Unzwar sollen halt nur 12 bilder sichtbar sein und dann halt unten der rest auf andere seiten verteilt (seite 1 2 3 4 usw). Naja mein problem ist eigentlich nur das nirgentwo eine Hilfreiche lösung dafür steht wie ich das bei mir umsetzen könnte. Vielleicht ist meine Lösung die bilder einzusetzen auch nicht die eleganteste aber am einfachsten :). Wäre nett wenn mir einer Helfen könnte da irgentwie eine Blätterfunktion einzubauen, oder zumindest mir dabei helfen das so umzustellen (ohne datenbank) das eine Blätterfunktion vielleicht noch einfacher umzusetzen wäre... nunja blabla :P hier der Code:

<link rel="stylesheet" type="text/css" href="css/style2.css">  
<td align="right">  
	<img src="pics/photos_0.png" border=0 style="position:absolute; left:200px;" vspace=0 hspace=0 alt="Photos">  
</td>  
  <p align="left">  
  
<table border="0" cellpadding="2" cellspacing="20" align="center" width="450px">  
        <tr valign="top" align="center">  
  
        </tr>  
        <tr>  
  
<?php  
	  
	$bildzahl=0;  
	$dir = "./diashow/bilder/";  
	$dh = opendir($dir);  
	echo"<br \><br \><br \><br \>";  
	while($bild = readdir($dh))  
	{  
		if(stristr($bild,"jpeg") || stristr($bild,"jpg") || stristr($bild,"png") || stristr($bild,"gif"))  
		{  
			$bilder[] = $bild;  
			echo"<a href=\"/$dir/$bilder[$bildzahl]\" target=\"_blank\"><img src=\"$dir/$bilder[$bildzahl]\" alt=\"Galeriebild\" width=\"140px\" height=\"110px\"></a>&nbsp;";  
			$bildzahl++;  
			if($bildzahl % 12 == 0)  
			{  
				  
			}  
		}  
	}  
		$bildzahl=0;  
	  
?>  
</td>  
</tr>  
</table>  
</p>
  1. Moin

    <link rel="stylesheet" type="text/css" href="css/style2.css">

    <td align="right">
    <img src="pics/photos_0.png" border=0 style="position:absolute; left:200px;" vspace=0 hspace=0 alt="Photos">
    </td>
      <p align="left">

    <table border="0" cellpadding="2" cellspacing="20" align="center" width="450px">
            <tr valign="top" align="center">

    </tr>
            <tr>

    <?php

    $bildzahl=0;
    $dir = "./diashow/bilder/";
    $dh = opendir($dir);
    echo"<br ><br ><br ><br >";
    while($bild = readdir($dh))
    {
    if(stristr($bild,"jpeg") || stristr($bild,"jpg") || stristr($bild,"png") || stristr($bild,"gif"))
    {
    $bilder[] = $bild;
    echo"<a href="/$dir/$bilder[$bildzahl]" target="_blank"><img src="$dir/$bilder[$bildzahl]" alt="Galeriebild" width="140px" height="110px"></a>&nbsp;";
    $bildzahl++;
    if($bildzahl % 12 == 0)
    {

      	}  
      }  
    

    }
    $bildzahl=0;

    ?>
    </td>
    </tr>
    </table>
    </p>

      
    Ich würde so vorgehen. Erstmal alle Bilder in ein Array schreiben. So wie du dies ja schon tust.  
      
    Dann mit Count alle Elemente zählen. Nun brauchst du noch einen Multiplikator (in deinem Falle 12)  
      
    So nun teilst du die Gesamtanzahl der vorhandenen Elemente und rundest diese auf.  
      
    z.B.  
    Angenommen du hast 53 Bilder  
      
    53 durch 12 = 4,417  
      
    Also können aufgerundet 5 Seiten mit den Bildern gefüllt werden.  
    Nun gibst du einen "Navigator" mit Hilfe einer Forschleif die als MAxwert den errechneten Seitenwert hat und der auf die gleiche Seite verlinkt und einen entsprechenden Offset mitgibt aus:  
      
    Also: `echo '< a href="blabla?offset='.$x.'">'.$x.'</a>';`{:.language-php}  
      
    So. Nun ist alles für die Ausgabe vorbereitet. Nun multiplizierst du den übergebenen offset mit 12 und ziehst 1 ab (da ein Array mit 0 und nicht 1 beginnt)  
      
    Und ab bildarray[$\_GET['offset']-1] lässt du genau 12 Bilder ausgeben.  
      
    Ich hoffe das ist Anregung genug.  
      
    Gruß Bobby  
    
    -- 
    -> Für jedes Problem gibt es eine Lösung, die einfach, sauber und falsch ist! <-  
    ### Henry L. Mencken ###  
    -> Nicht das Problem macht die Schwierigkeiten, sondern unsere Sichtweise! <-  
    ## Viktor Frankl ###  
      
    ie:{ br:> fl:{ va:} ls:< fo:) rl:( n4:( de:> ss:) ch:? js:( mo:} sh:) zu:)
    
    1. das war sehr hilfreich danke Bobby. ^^

  2. Hello,

    ich brauche dringend eine blätterfunktion für die darstellung der Fotos. Unzwar sollen halt nur 12 bilder sichtbar sein und dann halt unten der rest auf andere seiten verteilt (seite 1 2 3 4 usw). Naja mein problem ist eigentlich nur das nirgentwo eine Hilfreiche lösung dafür steht wie ich das bei mir umsetzen könnte.

    Wenn Du das Archiv durchsucht hättest, wärst Du auf:

    http://forum.de.selfhtml.org/archiv/2009/4/t185451/#m1230729 und darüber auf
    http://forum.de.selfhtml.org/archiv/2009/3/t185234/#m1228790 und darüber auf
    http://selfhtml.bitworks.de/snippets/directories_auslesen/readdir_&_blaettern/filelist_paginated.php

    gestoßen.

    Dort steht beschrieben, wie man es machen kann.

    Liebe Grüße aus dem schönen Oberharz

    Tom vom Berg

    --
    Nur selber lernen macht schlau
    http://bergpost.annerschbarrich.de