Wie krieg ich die vorherige / nächste ID heraus?

aargau

Erfahrenes Mitglied
Hallo zusammen
Ich bin im moment etwas verzweifelt da ich seit Stunden am überlegen bin, aber keine Lösung gefunden habe. Ich bin daran eine Usergallery zu realisieren. So das jeder User seine Bilder hat. Da möchte ich auch direkt auf das vorherige - nächste Bild zugreiffen können bei der Grossbild ansicht. Das ganze ist aber nicht so einfach wie ich mir das gedacht habe, da aleine die Auflistung aller Bilder eines Users 2 Tabellen der Datenbank benötigt. Nun muss ich irgend wie an die vorherige und nächste Bildid kommen. Was ich habe ist die Aktuelle ID. Jedoch eben wie geschrieben muss dazu auch die 2. Tabelle beachtet werden, da da sehr viele Infos stehen.

Tabelle:
1. Bilder
- Bildid, speicherort, hochladezeit, ip, etc...
2. nschild(Namensschilder)
- namensschildid, typ (Bild, Namensschild)...

Die Abfrage um alle Bilder eines Users zu bekommen:
PHP:
$abfrage31 = "SELECT bilder.idp , bilder.thumb , bilder.user , bilder.time,  
nschild.nsuserid , nschild.typ, nschild.bildid , nschild.bildzeit FROM bilder,nschild 
WHERE nschild.nsuserid='$nid' AND nschild.bildid = bilder.idp AND (
typ = '3' OR typ ='2') ORDER BY bilder.time DESC";
  $ergebnis31 = mysql_query($abfrage31) ;

Wie komme ich nun anhand der aktuellen ID eines Bildes an die ID des letzten / nächsten Bildes?
 
Mittlerweile hab ich zwar eine möglichkeit gefunden, doch die geht nicht ganz so wie ich das möchte... Wenn ich es so mache gibt es bei mir zwischen durch ein durcheinander. Weis jemand wiso das so ist? Geht es ev. sogar einfacher ?

PHP:
$abfrage311 = "SELECT nsuserid , typ, bildid , bildzeit FROM nschild WHERE nsuserid='$benutzer'  AND (typ = '3' OR typ ='2') AND `bildid`< '$id' LIMIT 1";
$ergebnis311 = mysql_query($abfrage311) ; 
while($row = mysql_fetch_object($ergebnis311)) 
{
$next = $row->bildid ; 
echo ",$next," ; 
}
$abfrage311a = "SELECT nsuserid , typ, bildid , bildzeit FROM nschild WHERE nsuserid='$benutzer'  AND (typ = '3' OR typ ='2') AND `bildid`> '$id' LIMIT 1";
	$ergebnis311a = mysql_query($abfrage311a) ; 
	while($row = mysql_fetch_object($ergebnis311a)) 
	{
	$last = $row->bildid ; 
	}
		if($last)
			echo ",$last," ; 
	{
	echo "<A HREF='?show=gallery&view=big&usr=$benutzer&id=$last'>Zurück</A>
<script type=\"text/javascript\">
var tasteleft = \"?show=gallery&view=big&usr=$benutzer&id=$last\" ;
var taste = \"true\" ; 
</script>" ; 
	}
	if($next)
	{
	echo "<A HREF='?show=gallery&view=big&usr=$benutzer&id=$next'>Nächstes</A>
	<script type=\"text/javascript\">
var tastenext = \"?show=gallery&view=big&usr=$benutzer&id=$next\" ;
var taste = \"true\" ; 
</script>" ; 
	}
 
Such doch im Vorfeld alle Bilder aus der DB, die dem User zugeordnet sind und pack die in ein Array.
Dieses durchläufst Du dann.
 

Neue Beiträge

Zurück