46356
Goto Top

Bildergalerie mit PHP

Hallo!

Ich versuche mit PHP eine Bildergalerie zu progrmmieren...
Ungefähr so:

bdbfb6500ebf936112c562f4e58ef107-bilder


Die Urls werden von einer Datenbank abgerufen...

while($row = mysql_fetch_object($ergebnis))
   {
   $Url = $row->Url;
   $Name = $row->Name;

   $Photo = "<img src='/.$Url' width='200px' height='112.5px'>";  
          	echo '<table border="0" width="600px">';  
          	echo '<tr>';  
		echo '<td>';  
		echo $Photo;
 		echo '</td>';  
		echo '</tr>';  


Und da habe ich schon mein erstes Problem:
X Die Bilder werden untereinander aufgerufen (sie sollten in einer Tabelle wie oben in der Grafik zu sehen ist stehen...)

Und nun hätte ich noch gerne, dass bei mehr als 9 Bildern das untere rechte Bild durch ein Standardbild (next.jpg) ersetzt wird...

Lg. Alex

Content-Key: 82597

Url: https://administrator.de/contentid/82597

Printed on: April 19, 2024 at 02:04 o'clock

Member: filippg
filippg Mar 08, 2008 at 19:32:33 (UTC)
Goto Top
Schleifen sind schön und gut, mann mus nur wissen, was alles reingehört und was nicht. Wenn du in jedem Schleifendurchlauf eine neue Tabelle erstellst, dann hast du nachher halt x Tabellen, die alle untereinander stehen.
Schau dir halt mal den HTML-Quelltext der von dir generierten Seite an.

Und zu dem anderen Problem... halt mitzählen, wie viel ausgegeben wurden und dann entsprechend ersetzen. if und else sollten dir bekannt sein. Geschickt ist es auch, die SQL-Abfrage zu begrenzen, so dass nicht alle zurückgegeben werden.

Gruß

Filipp
Mitglied: 46356
46356 Mar 08, 2008 at 20:23:26 (UTC)
Goto Top
Hallo!

Dank für Deine Antwort!

Das if Problem konnte ich schon heute morgen lösen...
Aber beim anderen, da weiß ich nicht ganz wie ich da vorgehen muss...

Habe die Bilder zwar nun in die gewünschte Position gebracht...
Doch es wird immer das selbe Bild angezeigt:

while($row = mysql_fetch_object($ergebnis))
   {
   $Url = $row->Url;
   $Name = $row->Name;

   $Photo = "<img src='/.$Url' width='200px' height='112.5px'>";  
          	        
   }

                echo '<table border="0" width="600px">';  
		echo '<tr>';         ////  
		echo '<td>';         ////  
		echo $Photo;         ////  <==
 		echo '</td>';        ////  <==   
		echo '<td>';         ////  <==   Eine Zeile  
		echo $Photo;         //// <== 
 		echo '</td>';        ////  <==  
		echo '<td>';         ////  
		echo $Photo;         ////
 		echo '</td>';        ////  
		echo '<tr>';         ////  
Member: filippg
filippg Mar 09, 2008 at 14:20:50 (UTC)
Goto Top
"Schleifen sind schön und gut, mann muss nur wissen, was alles reingehört und was nicht."

Schön wenn du die Variable $Photo neunmal zuweist. Allerdings überschreibt jede Zuweiung die vorherige. Und wenn dann alle Ausagben nach der letzten Zuweisung sind, dann wird auch nur der letzte Wert ausgegeben.

Grob skizziert sollte das ungefähr so aussehen:

echo <table>
echo <tr>
$i = 0;

while($row =...){
if($i == 3){
echo </tr><tr>
i = 0
}

$Photo = ....
echo <td>$photo</td>
$i++
}


Daneben würde ich die Anschaffung eines guten PHP-Einsteigerbuchs empfehlen und dir raten, nochmal ganz von vorne anzufangen.

Filipp
Member: Spackenbremse
Spackenbremse Mar 29, 2008 at 19:14:31 (UTC)
Goto Top
Hallo Alex.
Versuchs mal n bisschen anderst zu machen, auch mit PHP -> HTML wechsel:
<table border=0 width=600>
<?
$sql = "SELECT * FROM tabelle ODER BY ID ASC;";  
$result = mysql_query($sql) OR die (mysql_error());
while($row = mysql_fetch_assoc($result))
{
?>
<tr>
<td><img src='<? echo $row['url']; ?>' width=200 height='112.5' /></td>  
</tr>
<? } ?>
</table>

Damit erstellst du
  • Eine anständige SQL-Abfrage durch Arrays
  • Eine dynamische Tabelle, die sich der Anzahl der Bilder anpasst
  • Einen übersichtlichen Quellcode

mfg
Spackenbremse
Mitglied: 46356
46356 Mar 30, 2008 at 21:22:47 (UTC)
Goto Top
Hallo Spackenbremse!

Habs inzwischen so ähnlich gemacht wie du, hab aber vergessen den Beitrag
als gelöst zu markieren...

... trotzdem danke!

Lg. Alex