Bilder anzeigen

Snowowl

Erfahrenes Mitglied
Hi,
Ich habe folgendes Problem:
Ich habe ein Script mit dem ich bilder anzeigen lassen kann und zwar dies:
PHP:
<table border="0" cellspacing="2" cellpadding="2"> 
  <tr> 
  <?     
        $dir = '.'; 
        $handle = opendir($dir); 
     while(false!==($file = readdir($handle))) 
        { 
        if ($file != "." && $file != ".." && $file != "index.php") { 
       echo " 
  <td><img border=\"0\" src=\"".$file."\"></td>";$i++; 
} 
     if ($i % 3 == 0) { 
          echo "</tr><tr>"; 
     } 
} 
echo "</tr></table>"; 
        closedir($handle);
Dort werden ja immer 3 bilder nebeneinander und der rest untereinander angezeigt.
wie kann ich es nun machen, dass ich immer 3 neben, 3 unter -einander anzeige?
also dass ich halt mehere seiten a 9 bilder habe?
vielen dank
Niklas
 
Um zu pruefen wo Du mit der Ausgabe anfaengst musst Du folgende Formel nutzen:

PHP:
$startbild=($seite-1)*9;

Dabei beginnt das Zaehlen jedoch mit 0, sollte aber kein Problem sein.
Daraus wuerde sich dann ergeben, dass die Bilder 0-8 auf der 1. Seite sind.
9-17 auf der 2. und so weiter.

Jetzt pruefst Du ja nur horizontal auf 3 Bilder, Du musst halt noch pruefen ob 9 Bilder ingesamt ausgegeben wurden.
 
Hi,
danke für deine schnelle Antwort, aber ich verstehe das nicht^^.
Ich bin halt nich ein php ;)
kannst du mir den code eingesetzt in meinen nochmal schreiebn?
das wäre lieb!
vielen dank,
Niklas
 
Na gut, weil's Freitag ist, und Friends erst in gut 20 Minuten anfaengt.

PHP:
<table border="0" cellspacing="2" callpadding="2">
<tr>
<?php
if (isset($_GET['seite']))
 {
  $seite=$_GET['seite'];
 }
else
 {
  $seite=1;
 }
$startpic=($seite-1)*9;
$handle=opendir(".");
$i=0;
while ($file=readdir($handle))
 {
  if (($file!=".") && ($file!="..") && ($file!="index.php") && ($i>=$startpic) && ($i<$startpic+9))
   {
    echo '<td><img border="0" src="'.$file.'" alt="'.$file.'"></td>';
    if ($i%3==0)
     {
      echo '</tr><tr>';
     }
   }
  $i++;
 }
closedir($handle);
?>
</tr>
</table>
<?php
$seiten=ceil(($i+1)/9);
echo 'Seite';
for ($seitenr=1;$seitenr<=$seiten;$seitenr++)
 {
  echo ' <a href="index.php?seite='.$seitenr.'">'.$seitenr.'</a>';
 }
?>

Siehst Du, ist doch eigentlich ganz einfach.

Und halte Dich bitte in Zukunft an Gross- und Kleinschreibung.
 
Hi,
danke dafür. Das Script funkitoniert jetzt fast...
Das einzige Problem ist nur:
Die Bilder werden jetzt nicht mehr in 3er Reihen angezeigt.
Und auf der 1 Seite sind nur 7 Bilder.
Kann mir irgendwer, oder auch reptiler ;)^^, helfen?
Vielen Dank im Vorraus,
Niklas

PS: Hier die ist Seite wo das Scripz im Einsatz ist:
Link
 
So, jetzt geht's.

PHP:
<table border="0" cellspacing="2" callpadding="2"> 
<tr> 
<?php 
if (isset($_GET['seite'])) 
	{ 
		$seite=$_GET['seite']; 
	} 
else 
	{ 
		$seite=1; 
	} 
$startpic=($seite-1)*9+1; 
$handle=opendir("."); 
$i=1; 
while ($file=readdir($handle)) 
	{ 
		if (($file!=".") && ($file!="..") && ($file!="index.php") && ($i>=$startpic) && ($i<$startpic+9)) 
			{ 
				echo '<td><img border="0" src="'.$file.'" alt="'.$file.'"></td>'; 
				if ($i%3==0) 
					{ 
						echo '</tr><tr>'; 
					} 
			} 
		if (($file!=".") && ($file!="..") && ($file!="index.php"))
			{
				$i++; 
			} 
	}
closedir($handle); 
?> 
</tr> 
</table> 
<?php 
$seiten=ceil($i/9); 
echo 'Seite'; 
for ($seitenr=1;$seitenr<=$seiten;$seitenr++) 
	{ 
		echo ' <a href="index.php?seite='.$seitenr.'">'.$seitenr.'</a>'; 
	}
?>
 

Neue Beiträge

Zurück