Galerie

crashx

Erfahrenes Mitglied
Ich hätte da eine fragen bevor ich mit dem Aufbau einer Galerie beginne.

Ich werde mal Erläutern wie ich gedenke das ganze Aufzubauen.

1. Eine seite erstellen mit einem upload-formular welches: Name, email, beschreibung
und 1 "durchsuchen" feld besitzt, um das gewünschte Bild zu wählen.
Im weiteren wird das Formular ein "hidden" feld haben in welches Automatisch das Datum Generriert wird,
wozu ich das brauchen kann weiss ich noch nicht aber ich verwende es mal.

2. Mittels PHP-Upload script. (Welches mit eurer Hilfe entsdanden ist) werden die Daten
in eine DB eingetragen und die Bilder in ein Verzeichnis hochgeladen.
Spalten der DB sehen wie folgt aus, id, name, email, picurl, datum.

3. Die Seite.
Auf der seite werden ca. 12 bilder mit Kommentar angezeigt, (die quelle der Bilder liegen ja in der DB)
da jedes bild, jeder Kommentar durch den Eintrag in die DB eine eindeutige ID hat,
werden die Bilder mittels verlinkt und in einem neuen Fenster mittels ($_GET['id']) in ihrer
Originalgrösse dargestellt.

Nun zu meiner Frage, ist das zu kompliziert, gibt es eine einfachere Variante?
Hättet Ihr vielleicht vorschläge es anders zu machen?
Oder soll ich es so aufbauen?
Andere anregungen?

vielen dank für eure Hilfe und Unterstüzung.
 
crashx hat gesagt.:
Im weiteren wird das Formular ein "hidden" feld haben in welches Automatisch das Datum Generriert wird,
wozu ich das brauchen kann weiss ich noch nicht aber ich verwende es mal.
Ich auch nicht. Warum nen Hiddenfeld, damit mans manipulieren kann?
Das Datum kannst du ja per PHP auslesen.

crashx hat gesagt.:
Nun zu meiner Frage, ist das zu kompliziert, gibt es eine einfachere Variante?
Hättet Ihr vielleicht vorschläge es anders zu machen?
Oder soll ich es so aufbauen?
Andere anregungen?
Nein, so ist das eigentlich in Ordnung.
So würde ich es wohl auch machen (wenn ich nichts überlesen hab :D)
 
Problem!

Na ja, durch viel lernen bin ich auch für meine verhältnise sehr weit gekommen, nur tauchen immer wieder dumme probleme auf, welche ich nicht zu lösen vermag.

Ich möchte auf der seite galerie.php eine vorschau von 4x4 bildern ausgeben.
Das ganze wird durch eine while schleife ausgegeben, doch wen ich nach meinen kenntnissen die Schleife anwende, bekomme ich das Resultat, das alles untereinander und nicht 4 nebeneinander angezeigt werden.

ich versuche mein problem mal zu Visualisieren.

PHP:
	<table border="1" width="500" id="table2" cellspacing="0" cellpadding="0" height="0">
	<tr> 

	  <?
  	include("inc/dbconnect.php");
 	 $abfrage = "SELECT * FROM galerie";
  	$ergebnis = mysql_query($abfrage);
  	while($row = mysql_fetch_object($ergebnis))
  	{
  	?>
	  <td><img border="0" src="<? echo $row->picurl; ?>" width="188" height="114"></td>
	  <?
	  }
	  ?>

	</tr>
 </table>

So kenne ich das in etwa (bin kein profi).
Das resultat sollte dan so aussehen wie ich es schnell darstelle.

PHP:
<table border="1" width="500" id="table3">
		<tr>
			<td>hier sollte das bild mittels schleife rein</td>
			<td>hier sollte das bild mittels schleife rein</td>
			<td>hier sollte das bild mittels schleife rein</td>
			<td>hier sollte das bild mittels schleife rein</td>
		</tr>
		<tr>
			<td>hier sollte das bild mittels schleife rein</td>
			<td>usw</td>
			<td>usw</td>
			<td>usw</td>
		</tr>
		<tr>
			<td>usw</td>
			<td>usw</td>
			<td>usw</td>
			<td>usw</td>
		</tr>
		<tr>
			<td>usw</td>
			<td>usw</td>
			<td>usw</td>
			<td>usw</td>
		</tr>
 </table>

Gibt es eine möglichkeit das zu realisieren?
Ich frage nicht nach Blätterfunktion oder DB Abfragen wie das geht habt Ihr mir schon beigebracht ;-)
Nur, wie bekomme ich mittels Schleife 4 zellen nebeneinander und 4 spalten untereinander?

Ich hoffe ich habe mich verständlich ausgedrückt.
 
Wenn du weist wie das mit der Blätterfunktion geht, dann adaptiere das!


nur anstatt eines Seitenwechsels machst du einen Zeilenwechsel! Sprich:

HTML:
 <tr> 
while{
Hier die whileschleife und das ganze zeugs das man braucht.
 
Nachdem vier bilder abgerufen wurden machst du die zeile wieder zu.
}
</tr>
ein kleiner denkanstoß!
 
@Nero

Ja gut, das verstehe ich auch, aber wenn ich die while schleife zu mache ist fertig.

Doch ich will nach 4 bildern eine neue zeile mit weiteren 4 bildern und dan noch mal eine zeile mit 4 bildern und dan nochmal, so das ich 16 bilder dargestellt bekomme.

Wen ich mir aber nur 4 bilder in einer zeile durch eine while schleife anzeigen lasse, muss ich sie bei Einträgen von ca. 40 bildurl in der DB mittels "SELECT * FROM galerie LIMIT 4"; abbrechen.
Wen ich das dan in 4 Zeilen mache, werden mir die ersten vier bilder angezeigt und das zwar in allen 4 zeilen.

Gibt es keine andere möglichkeit? Denn meine sind noch beschränkt :-)
THX
 
Also 4 Bildur pro Zeile kannst du machen, in dem du eine Zählvariable ($i z.B) bei jedem Schleifendurchlauf erhöhst.
Dann fragst du ab: if (($i % 4) == 0) (Wenn $i Teilbar durch 4)
und gibst, wenn true rauskommt ein <tr> aus.

Den 2. Teil deines letzten Beitrages habe ich irgendwie nicht so richtig verstanden. Entweder drücken sich in letzter Zeit alle so schwach aus, oder ich bin zu dumm geworden :P
 
@irgendjemand_1

Nein Nein ich glaube nicht das du zu Dumm bist, das spricht schon eher auf mich zu ;)

Ich denke ich komme dem ganzen nicht wirklich näher, aber werde es mal mit euren ansätzen versuchen.

PS: Tipps lehne ich aber nicht ab ;)
 
Ja dann mach eine Variable mit dem LIMIT-Wert. Und jedes mal, bevor du die Schleife schließt, erhöhst du die Var um 4! Das kannst für vier zeilen ungefähr so machen:

PHP:
 $limit_value_start=0; 
 
for($x=1;$x<4;$x++){
 
	 echo "<tr>";
 
 
 
	 include("inc/dbconnect.php"); 
	 $abfrage = "SELECT * FROM galerie LIMIT ".$limit_value_start.", 4"; 
	 $ergebnis = mysql_query($abfrage); 
	 while($row = mysql_fetch_object($ergebnis)) 
	 { 
		 echo '<td><img border="0" src="'.$row->picurl.' " width="188" 
		 height="114"></td>';
	 }
 
	 echo "</tr>";
	 $limit_value_start=$limit_value_start+4;
 
}
 
nero_85 hat gesagt.:
Ja dann mach eine Variable mit dem LIMIT-Wert. Und jedes mal, bevor du die Schleife schließt, erhöhst du die Var um 4! Das kannst für vier zeilen ungefähr so machen:

PHP:
 $limit_value_start=0; 
 
for($x=1;$x<4;$x++){
 
	 echo "<tr>";
 
 
 
	 include("inc/dbconnect.php"); 
	 $abfrage = "SELECT * FROM galerie LIMIT ".$limit_value_start.", 4"; 
	 $ergebnis = mysql_query($abfrage); 
	 while($row = mysql_fetch_object($ergebnis)) 
	 { 
		 echo '<td><img border="0" src="'.$row->picurl.' " width="188" 
		 height="114"></td>';
	 }
 
	 echo "</tr>";
	 $limit_value_start=$limit_value_start+4;
 
}

Hm .. Das ist schon sehr umständlich.
Vielleicht hab ich in meinem letzten Post nicht klar genug ausgedrückt, wie ich es meinte.

Limit bleibt 16, in der while gehört lediglich ein
PHP:
if (($i % 4) == 0) { echo "<tr>"; }
rein. ;)
 
warum einfach wenns kompliziert auch geht ;)du meinst alsu so:

PHP:
 	include("inc/dbconnect.php"); 
	$abfrage = "SELECT * FROM galerie LIMIT ".$limit_value_start.", 4"; 
	$ergebnis = mysql_query($abfrage); 
	$i=1;
	while($row = mysql_fetch_object($ergebnis)) 
	{ 
		if(($i % 4) == 0){ echo "<tr>";
		echo '<td><img border="0" src="'.$row->picurl.' " width="188" 
		height="114"></td>'; 
		if(($i % 4) == 0){ echo "</tr>";
	}
 
Zurück