Avatar billede asgrone Nybegynder
15. maj 2007 - 23:17 Der er 6 kommentarer

link til næste fil i rækken

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.
Avatar billede 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";
Avatar billede asgrone Nybegynder
15. maj 2007 - 23:59 #2
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);
Avatar billede asgrone Nybegynder
16. maj 2007 - 00:00 #3
altså ikke i stedet for min nuværende, men bare for at finde det næste billede i rækken.
Avatar billede 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;
Avatar billede asgrone Nybegynder
16. maj 2007 - 01:01 #5
hey jeg fandt ud af det, mange tak for hjælpen!
skriv et svar..
Avatar billede 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
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester