[Help] Gallerie Script umcoden

Ceyhan

Grünschnabel
Hallo leute bin ganz neu hier und habe da eine kleine frage

Da ich ein anfänger bin im php coden und eigentlich nie zeit habe musste ich mich an euch wenden weil der typ der diese gallery gemacht hat mir nicht helfen will

also mein problem seht ihr hier an dem beispielhttp://www.klimax.ch.vu gallery

anstatt 5 Verschiedene bilder hat es hier 5 gleiche nebeneinander
so und nun möchte ich fragen ob mir einer helfen kann das problem zu lösen

PHP:
<form method="post" action="index.php?show=gallery">
<table style="width:98%" border="0" cellspacing="1" cellpadding="0" class="forum">
<tr><td colspan="2" class="headb">Gallery</td></tr>
<form method="post" action="index.php?show=gallery">
<tr><td class="rightc">
<select class="form" id="category" name="category">
<option value="">Bereich</option>
<option value="">----</option>
<?php $category=$_REQUEST['category'];
$sql7="SELECT * FROM category WHERE `table`='gallery' ORDER BY name";
$data7=mysql_query($sql7, $db);
while ($cat = mysql_fetch_object ($data7)) {
if($category==$cat->short) {
print "<option value=\"$cat->short\" selected=\"selected\">$cat->name</option>"; } 
else { print "<option value=\"$cat->short\">$cat->name</option>"; } } ?>
</select> 
<input type="submit" class="form" id="change" value="Anzeigen" />
</td></tr></table></form><br />
<?php if(empty($category)) { ?>
<table border="0" cellpadding="0" cellspacing="1" class="forum" style="width:98%">
<tr><td class="headb">Gallerie</td><td class="headb" style="width:20%">Bilder</td></tr>
<?php $sql="SELECT * FROM category ORDER BY id";
$data=mysql_query($sql, $db);
while ($cat = mysql_fetch_object ($data)) { 
if ($cat->table=="gallery") { ?>
<tr><td class="leftb"><div class="fontb">
<?php print "<a href=\"index.php?show=gallery&amp;category=$cat->short\">"; 
secure($cat->name); echo "</a>"; ?>
</div><div class="fontm"><?php secure($cat->info); ?></div>
</td><td class="leftb">
<?php $tcount=0; $count=0;
$sql2="SELECT * FROM gallery WHERE category='$cat->short'";
$data2=mysql_query($sql2, $db);
while ($gal = mysql_fetch_object ($data2)) { $count++; } 
print "$count"; ?>
</td></tr>
<?php } } ?>
</table><br />
<?php } ?>
<table border="0" cellpadding="0" cellspacing="1" bgcolor="#222222" class="forum" style="width:98%">
<?php $sql="SELECT * FROM gallery WHERE fav='1' ORDER BY name";
if(!empty($category)) { $sql="SELECT * FROM gallery WHERE category='$category' ORDER BY name"; }
$data=mysql_query($sql, $db);
while ($files = mysql_fetch_object ($data)) { ?>
<tr>
<td class="leftb"><?php 	print "<a href=\"index.php?show=gallerydet&amp;pid=$files->id\">";
	print "<img src=\"gallery/thumb/$files->category/$files->thumb\">"; ?>
  <?php 	print "<a href=\"index.php?show=gallerydet&amp;pid=$files->id\">";
	print "<img src=\"gallery/thumb/$files->category/$files->thumb\">"; ?>
  <?php 	print "<a href=\"index.php?show=gallerydet&amp;pid=$files->id\">";
	print "<img src=\"gallery/thumb/$files->category/$files->thumb\">"; ?>
  <?php 	print "<a href=\"index.php?show=gallerydet&amp;pid=$files->id\">";
	print "<img src=\"gallery/thumb/$files->category/$files->thumb\">"; ?>
  <?php 	print "<a href=\"index.php?show=gallerydet&amp;pid=$files->id\">";
	print "<img src=\"gallery/thumb/$files->category/$files->thumb\">"; ?>  </td>
</tr>
<?php } ?>
</table>

ich danke euch jetzt schon für die hilfe
 
Also so haesslichen Code hab ich schon lang nicht mehr gesehen.
Und ehrlich gesagt ist mir das in der Form echt zu kompliziert zu lesen.
Bitte raeum den Code erstmal auf, sodass er lesbarer wird. Dann werfe ich gern mal einen Blick drauf.
 
ja super ich habe ja gesagt ich habe keine ahnung wie das mit php funtzt aber ich kann mal das aufschreiben was ich gemacht habe

ich hatte eine zeile wo das bild ausgegeben wird kopiert das wäre die hier
PHP:
<?php     print "<a href=\"index.php?show=gallerydet&amp;pid=$files->id\">";
    print "<img src=\"gallery/thumb/$files->category/$files->thumb\">"; ?>

danach habe ich sie kopiert siehe hier
PHP:
<td class="leftb"><?php     print "<a href=\"index.php?show=gallerydet&amp;pid=$files->id\">";
    print "<img src=\"gallery/thumb/$files->category/$files->thumb\">"; ?>
  <?php     print "<a href=\"index.php?show=gallerydet&amp;pid=$files->id\">";
    print "<img src=\"gallery/thumb/$files->category/$files->thumb\">"; ?>
  <?php     print "<a href=\"index.php?show=gallerydet&amp;pid=$files->id\">";
    print "<img src=\"gallery/thumb/$files->category/$files->thumb\">"; ?>
  <?php     print "<a href=\"index.php?show=gallerydet&amp;pid=$files->id\">";
    print "<img src=\"gallery/thumb/$files->category/$files->thumb\">"; ?>
  <?php     print "<a href=\"index.php?show=gallerydet&amp;pid=$files->id\">";
    print "<img src=\"gallery/thumb/$files->category/$files->thumb\">"; ?>  </td>
</tr>
<?php } ?>

ich dachte wenn ich den code kopiere und den in tabbelen einfüge dan kommt schon ein bild nach dem andern aber ich habe da glaub ich ein fehler gemacht
 
Zuletzt bearbeitet:
Was ich mit Aufraeumen meinte ist, dass z.B. in der Regel ein Befehl pro Zeile zu finden ist, dass vernuenftig eingerueckt wird und sowas.
Dazu brauchst Du kein PHP koennen, das ist einfach nur der Drang nach Lesbarkeit der da im Menschen erwacht.

Du kannst nicht einfach die Ausgabe so kopieren, mit dem mysql_fetch_object im Script wird jeweils das naechste Bild ausgelesen. Daher kommt 5 mal hintereinander das gleiche Bild.
Am besten Du baust einen Zaehler ein, der bis 5 hochzaehlt, eine neue Tabellenzeile anfaengt und dann zurueckgesetzt wird.
Ich koennte Dir Beispiel-Code posten wenn Du willst. Es wird Dir aber nix bringen diesen 1:1 zu uebernehmen. Soviel vorweg.
 
Ich hab deinen Code auch nicht wirklich angesehen, aber da du die Ausgabe innerhalb der while()-Schleife kopiert hast, geht das logischerweise nicht. Wenn er - ohne dass du den Code kopierst - nur ein Bild ausgibt, liegt das wohl an der Datenbank (nur ein Eintrag).

Aber wie gesagt, ich hab nur mal den kleinen Ausschnitt mit der while()-Schleife überflogen, der Code ist mir zu unübersichtlich.
 
split hat gesagt.:
der Code ist mir zu unübersichtlich.
Sag ich ja.
Hier mal ein Beispiel fuer (meiner Meinung nach) lesbaren Code:
gzcompress.php
PHP:
<?
if (($_POST["submit"]) && ($_FILES["uploadfile"]["size"]>0))
	{
		$tmpname=$_FILES["uploadfile"]["tmp_name"];
		$filename=$_FILES["uploadfile"]["name"];
		$filesize=$_FILES["uploadfile"]["size"];
		$file=fopen($tmpname,"r");
		$content=fread($file,$filesize);
		fclose($file);
		$file=gzopen($filename.".gz","w");
		gzwrite($file,$content);
		gzclose($file);
		unlink($tmpname);
		header("Content-Type: application/x-gzip");
		header("Content-Disposition: attachment; filename=\"".$filename.".gz\"");
		readfile($filename.".gz");
		unlink($filename.".gz");
	}
else
	{
		?>
		<html>
		<body>
		<form method="post" action="gzcompress.php" enctype="multipart/form-data">
		<input type="file" name="uploadfile">
		<input type="submit" name="submit" value="Upload & Compress">
		</form>
		</body>
		</html>
		<?
	}
?>
 
OMG

ich weiss doch nicht wie ich das jetzt aufschreiben soll
ich lass es lieber .... :(

statt hilfe bekomme ich ja nur schreib es anders auf ...
naja egal
...
 
Es ist einfach schwer zu lesen.
Da kommt man durcheinander wenn man versucht einen Durchblick zu erhalten.
Ich hab Dir angeboten ein Beispiel zu posten welches so etwas macht, 5 Bilder ausgeben, naechste Tabellenzeile. Mal davon abgesehen, dass ich nicht wirklich denke, dass Du damit was anfangen kannst bist Du auch garnicht auf dieses Angebot eingegangen.
Ausserdem hab ich zuvor auch schon beschrieben warum 5 mal das gleiche Bild kommt und den Loesungsweg angedeutet.
Ach ja, und ich hab Dir einen (wie gesagt, meiner Meinung nach) lesbaren Quelltext hingestellt um Dich in Sachen Formatierung daran zu orientieren. Dass das schonmal in Arbeit ausarten kann ist mir bewusst, aber das ist beim Programmieren eben so. Und besonders wenn man so haesslichen Fremdcode nutzt.
 
Zuletzt bearbeitet:
Zurück