Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Bildergalerie mit PHP

Frage Entwicklung PHP

Mitglied: 46356

46356 (Level 2)

07.03.2008, aktualisiert 30.03.2008, 4398 Aufrufe, 5 Kommentare

Hallo!

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

bdbfb6500ebf936112c562f4e58ef107-bilder - Klicke auf das Bild, um es zu vergrößern


Die Urls werden von einer Datenbank abgerufen...

01.
while($row = mysql_fetch_object($ergebnis)) 
02.
03.
   $Url = $row->Url; 
04.
   $Name = $row->Name; 
05.
 
06.
   $Photo = "<img src='/.$Url' width='200px' height='112.5px'>"; 
07.
          	echo '<table border="0" width="600px">'; 
08.
          	echo '<tr>'; 
09.
		echo '<td>'; 
10.
		echo $Photo; 
11.
 		echo '</td>'; 
12.
		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
Mitglied: filippg
08.03.2008 um 20:32 Uhr
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
Bitte warten ..
Mitglied: 46356
08.03.2008 um 21:23 Uhr
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:

01.
while($row = mysql_fetch_object($ergebnis)) 
02.
03.
   $Url = $row->Url; 
04.
   $Name = $row->Name; 
05.
 
06.
   $Photo = "<img src='/.$Url' width='200px' height='112.5px'>"; 
07.
          	         
08.
09.
 
10.
                echo '<table border="0" width="600px">'; 
11.
		echo '<tr>';         //// 
12.
		echo '<td>';         //// 
13.
		echo $Photo;         ////  <== 
14.
 		echo '</td>';        ////  <==  
15.
		echo '<td>';         ////  <==   Eine Zeile 
16.
		echo $Photo;         //// <==  
17.
 		echo '</td>';        ////  <== 
18.
		echo '<td>';         //// 
19.
		echo $Photo;         //// 
20.
 		echo '</td>';        //// 
21.
		echo '<tr>';         ////
Bitte warten ..
Mitglied: filippg
09.03.2008 um 15:20 Uhr
"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
Bitte warten ..
Mitglied: Spackenbremse
29.03.2008 um 20:14 Uhr
Hallo Alex.
Versuchs mal n bisschen anderst zu machen, auch mit PHP -> HTML wechsel:
01.
<table border=0 width=600> 
02.
<? 
03.
$sql = "SELECT * FROM tabelle ODER BY ID ASC;"
04.
$result = mysql_query($sql) OR die (mysql_error()); 
05.
while($row = mysql_fetch_assoc($result)) 
06.
07.
?> 
08.
<tr> 
09.
<td><img src='<? echo $row['url']; ?>' width=200 height='112.5' /></td> 
10.
</tr> 
11.
<? } ?> 
12.
</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
Bitte warten ..
Mitglied: 46356
30.03.2008 um 23:22 Uhr
Hallo Spackenbremse!

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

... trotzdem danke!

Lg. Alex
Bitte warten ..
Neuester Wissensbeitrag
Windows 10

Powershell 5 BSOD

(8)

Tipp von agowa338 zum Thema Windows 10 ...

Ähnliche Inhalte
Heiß diskutierte Inhalte
Microsoft
Ordner mit LW-Buchstaben versehen und benennen (20)

Frage von Xaero1982 zum Thema Microsoft ...

Outlook & Mail
gelöst Outlook 2010 findet ost datei nicht (19)

Frage von Floh21 zum Thema Outlook & Mail ...

Netzwerkmanagement
gelöst Anregungen, kleiner Betrieb, IT-Umgebung (18)

Frage von Unwichtig zum Thema Netzwerkmanagement ...

Festplatten, SSD, Raid
M.2 SSD wird nicht erkannt (14)

Frage von uridium69 zum Thema Festplatten, SSD, Raid ...