Hallo.
Ich habe leider mal wieder ein kleines Problem beim Thumbnail erzeugen mit der PHPJK Galerie (diesmal in der Thumbnailview.php). Und zwar wollte ich das die Bilder hier nach ihrer Höhe, bzw. ihrer Breite verkleinert werden. Ich hatte das ganze so geplant das wenn das Bild höher als breit ist es auf 100 Pixel Höhe verkleinert wird und wenn es breiter als hoch ist auf 100 pixel Breite. Soweit klappt mein dort eingebauter Code auch, bloß leider stimmt mit der Prüfung irgendetwas nicht. Die Funktion orientiert sich bei der Galerie immer nur nach dem ersten Bild auf der Seite und passt die Vergrößerung dann an alle anderen an, d.h. ist Bild 1 höher als breit wird es auf 100 pixel höhe verkleinert und alle anderen Bilder (Bild 2,3,4...) in dieser ,,Galerie" auch, auch wenn diese genau andersherum verkleinert werden müssten.
Die Bildverkleinerung ist in eine Funktion eingelagert, die ,,DispThumb" Funktion, in der ,,ein" Bild verkleinert wird und der folgende Code sorgt dann dafür das alles angezeigt wird:
// display the thumbnails
If ( $bAccessLocked )
{
If ( ! $bDispAllImages ) {
$sQuery = "SELECT * FROM Images I (NOLOCK), ImagesInGallery IG (NOLOCK) WHERE IG.GalleryUnq = " . (INT)$iGalleryUnq . " AND I.ImageUnq = IG.ImageUnq ORDER BY " . $sSortString;
}Else{
// read from the IGAllIViewResults table for the current "search" - join it with the Images table to get all the fields required below
$sQuery = "SELECT R.AccountUnq, R.GalleryUnq, I.ImageUnq, I.AltTag, I.Image, I.Thumbnail, I.ImageSize, I.FileType, I.Title, IG.AddDate, IG.Position FROM Images I (NOLOCK), IGAllIViewResults R (NOLOCK), ImagesInGallery IG (NOLOCK) WHERE IG.ImageUnq = I.ImageUnq AND R.SearchID = " . $iSearchID . " AND I.ImageUnq = R.ImageUnq ORDER BY " . $sSortString;
}
DB_Query("SET ROWCOUNT " . ($iDBLoc + $iNumPerPage));
$rsRecordSet = DB_Query($sQuery);
DB_Query("SET ROWCOUNT 0");
For ( $x = 1; $x <= $iDBLoc; $x++)
DB_Fetch($rsRecordSet);
Echo "<table cellpadding = 5 cellspacing=0 border=0 width=" . $iTableWidth . " class='TablePage_Boxed'>\n";
$bDone = False;
While ( ! $bDone )
{
Echo "<tr>";
For ( $x = 1; $x <= $iNumColumns; $x++ )
{
If ( $rsRow = DB_Fetch($rsRecordSet) )
{
Echo "<td align=center valign=top>";
If ( ! $bDispAllImages ) {
DispThumb( $rsRow["ImageUnq"], $iGalleryUnq, $sAccountUnq, Trim($rsRow["Thumbnail"]), Trim($rsRow["AltTag"]), $rsRow["Position"], Trim($rsRow["ImageSize"]), Trim($rsRow["Image"]), Trim($rsRow["FileType"]), $rsRow["AddDate"], Trim($rsRow["Title"]), Trim($rsRow["PrimaryG"]) );
}Else{
DispThumb( $rsRow["ImageUnq"], $rsRow["GalleryUnq"], $rsRow["AccountUnq"], Trim($rsRow["Thumbnail"]), Trim($rsRow["AltTag"]), $rsRow["Position"], Trim($rsRow["ImageSize"]), Trim($rsRow["Image"]), Trim($rsRow["FileType"]), $rsRow["AddDate"], Trim($rsRow["Title"]), Trim($rsRow["PrimaryG"]) );
}
Echo "</td>";
}Else{
Echo "<td></td>";
$bDone = True;
}
}
Echo "</tr>\n";
}
Echo "</table>\n";
Echo $sRecordsetNav;
}Else{
DOMAIN_Message("This gallery is locked and requires special access to view the images within it.", "ERROR");
}
}
Alles anzeigen
Da meine eigenen PHP Kentnisse wie es scheint noch zu schwach sind bin ich leider nicht in der Lage den Punkt zu lokalisieren wo bzw wie genau ich etwas umändern muss. Gibt es dafür irgend einen speziellen Befehl um die Prüfung der Funktion mehrmals ausführen zu lassen? Weil so wie es momentan ist wird die Prüfung nur einmal durchgeführt und anschließend bis zum letzten Bild durchkopiert.
Fals die Bildfunktion dafür benötigt wird sagt ruig bescheid, war mir nicht sicher ob sie hier benötigt wird, da sie wie gesagt nur ,,ein" Bild erzeugt (bzw. erzeugen sollte, der Macher der Galerie hat dort jedenfalls drangeschrieben das sie jeweils ein Bild erzeugt und so les ich das ganze auch aus der Funktion heraus). Wollte sie hier aber auch nicht unbedingt reinsetzen da sie etwas über 100 zeilen fasst (ungefähr 150 Forumszeilen wenn ich die Links zu den Bildern drin lasse )
Wäre über jeden nützlichen Hinweis sehr Dankbar.
Verkleinerung bei 7 Bildern breiter als hoch und einem höher als breit:
http://img115.imageshack.us/img115/5488/phpgaleriejkkv1.jpg
MfG Gamorreaner