Hej eksperter Jeg har et problem med et PHP billedegalleri jeg er i gang med. Jeg vil gerne lave det sådan at der er sådan et "next image" link, som tager brugeren til det næste billede i galleriet, men problemet er at det næste billede i forespørgslen ikke nødvendigvis er det næste billede i galleriet. Hvilke billeder som hører til galleriet er bestemt af en kolonne i databasen som hedder 'galleri', og alle billeder i f.eks. 'malerrier' galleriet har så 'malerri' stående i den kolonne.
Mit spørgsmål er: Hvordan laver jeg et link til det næste billede i galleriet, og også meget gerne til det forrige..?
Sig til hvis det ikke giver ordentlig mening det jeg skriver, så skal jeg gerne uddybe.
Hos Computerworld it-jobbank er vi stolte af at fortsætte det gode partnerskab med folkene bag IT-DAY – efter vores mening Danmarks bedste karrieremesse for unge og erfarne it-kandidater.
Slettet bruger
15. maj 2007 - 23:30#1
Du bliver nok nød til lige at vise lidt kode, så jeg i hvert fald kan se dine udtræk.
Har hvert billede et id?
Så laver du et udtræk: $next = "SELECT MIN(billedID) FROM galleri WHERE billedID > ".$_GET['billedID']." LIMIT 0, 1";
$back = "SELECT MAX(billedID) FROM galleri WHERE billedID < ".$_GET['billedID']." LIMIT 0, 1";
det du skriver virker meget rigtigt, men jeg kan ikke lige få det til at virke. min nuværende forespørgsel ser således ud: mysql_select_db($database_opkobling, $opkobling); $query_file = sprintf("SELECT * FROM files WHERE id = $_GET['viewfile']); $file = mysql_query($query_file, $opkobling) or die(mysql_error()); $row_file = mysql_fetch_assoc($file);
...
jeg kunne forestille mig at man skulle lave noget i den her retning: $back = "SELECT MAX(id) FROM files WHERE id < ".$_GET['viewfile']." LIMIT 0, 1 WHERE projectid = $projectid"; $back_query = mysql_query($back, $opkobling) or die(mysql_error()); $row_backfile = mysql_fetch_assoc($back_query);
altså ikke i stedet for min nuværende, men bare for at finde det næste billede i rækken.
Synes godt om
Slettet bruger
16. maj 2007 - 00:21#4
Men hvad siger den af fejl? Prøv men denne i stedet, har ikke rettet noget af betydning men er mere korrekt. $back = "SELECT MAX(id) as previous FROM files WHERE id < ".$_GET['viewfile']." LIMIT 0, 1 WHERE projectid = ".$projectid;
hey jeg fandt ud af det, mange tak for hjælpen! skriv et svar..
Synes godt om
Slettet bruger
16. maj 2007 - 01:07#6
Super duber. Menes man kan lave dem begge i en. $back = "SELECT MAX(id) as previous FROM files WHERE id < ".$_GET['viewfile']." LIMIT 0, 1 WHERE projectid = ".$projectid"; SELECT MIN(id) as next FROM files WHERE id > ".$_GET['viewfile']." LIMIT 0, 1 WHERE projectid = ".$projectid";
Prøv en gang ellers så må du lave 2
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.