[php]navigatie buttons

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
mensen,

Ik ben bezig met een fotoboek dat een gallery uitprint met daarin foto's. Na het klikken op een thumb krijg je een nieuwe window waar de foto ingeladen word.

Ik zit alleen met de knopjes volgende en vorige. Zijn er functies in php die de opvolgende ID bekijkt die je kan gebruiken om het volgende knopje te benoemen. Dit geld ook voor het knopje vorige.

Het kan ook zo zijn dat er opvolgende ID's missen omdat deze foto's verwijdert kunnen zijn.

Ik heb al gekeken naar de mogelijkheid om alle ID's na het deleten in en opvolgende volgorde te veranderen maar dat wil ik niet omdat het als er veel entries zijn veel tijd kost.

Bijvoorbaad dank,

[ Voor 18% gewijzigd door Verwijderd op 17-03-2004 10:28 ]


Acties:
  • 0 Henk 'm!

Verwijderd

Hm, echt duidelijk ben je niet.
Heb je misschien wat relevante code?

offtopic:
Het lijkt een soort gok-maar-raak-voor-een-knaak topic te worden...

[ Voor 40% gewijzigd door Verwijderd op 17-03-2004 10:33 ]


Acties:
  • 0 Henk 'm!

  • 4Real
  • Registratie: Juni 2001
  • Laatst online: 14-09-2024
hoe haal je alles op? waar sorteer je op?

Acties:
  • 0 Henk 'm!

Verwijderd

als je het uit een tabel haalt kun je toch gewoon het volgende sequence-nummer bepalen?
Adh daarvan kun je de volgende foto-info ophalen.

Acties:
  • 0 Henk 'm!

  • Sybr_E-N
  • Registratie: December 2001
  • Laatst online: 21-09 12:54
Tot zo ver ik weet bestaan die functies niet. Maar wat je ook zou kunnen doen is om aan de knoppen of linkjes het huidige id + een indentifier, bijvoorbeeld het '<' en het '>' teken, mee te geven. Op basis hiervan je je het volgende of vorige foto uit je database pakken. Als je bijvoorbeeld een '>' binnen krijgt verstuur je een query als : SELECT id, photo FROM photos WHERE id > $huidigeid LIMIT 0, 1. Moet je nog ff met ORDER BY ASC en DESC spelen om de juiste foto te krijgen.

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
De thumb heeft een link bijv: thumb.php?FID=12

FID is het FotoID dat gebruikt word om via de mysql_query* de variabelen uit de tabel te halen.

*mysql_query = ("SELECT * FROM $TABEL WHERE FOTOID = '$FID' ");

fotoids kunnen bijvoorbeeld zo oplopen: 1,2,5,6,7,10,11,14 etc.

Acties:
  • 0 Henk 'm!

  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 21-09 02:21

Janoz

Moderator Devschuur®

!litemod

Je mag nog best zelf een beetje programmeren hoor :). Niet voor alles kunnen ze nu eenmaal een functie maken. Dit probleem is simpel op te lossen door een iets ingewikkeldere querie te gebruiken. Het komt er op neer dat je het record ophaalt met de kleinste ID die nog steeds groter is dan de huidige ;). Gewoon een beetje leuk in SQL klussen met HAVING en MAX. (Of een ORDER BY met een LIMIT 1,0)

[ Voor 5% gewijzigd door Janoz op 17-03-2004 10:38 ]

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


Acties:
  • 0 Henk 'm!

  • thomaske
  • Registratie: Juni 2000
  • Laatst online: 21-09 19:49

thomaske

» » » » » »

je kan de volgende id opvragen met een query als deze:

code:
1
2
3
4
5
SELECT  foto_id
FROM    fotos
WHERE   foto_id > [huidig_id]
ORDER BY foto_id
LIMIT   1



edit:

Janoz, idd een orderby erbij :)

[ Voor 21% gewijzigd door thomaske op 17-03-2004 10:39 ]

Brusselmans: "Continuïteit bestaat niet, tenzij in zinloze vorm. Iets wat continu is, is obsessief, dus ziekelijk, dus oninteressant, dus zinloos."


Acties:
  • 0 Henk 'm!

Verwijderd

edit:
laat maar.

[ Voor 95% gewijzigd door Verwijderd op 17-03-2004 10:40 ]


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
ik heb het probleem compleet opgelost:

Voor de mensen die dit nodig mochten hebben:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
    //LOOK FOR NEXT FOTO_ID
    $VolgendeButton = mysql_query("SELECT FOTO_ID FROM $table WHERE FOTO_ID > '$FID' AND CAT_ID = '$CAT' ORDER BY FOTO_ID LIMIT 1");
    $RowVolgende = mysql_fetch_array($VolgendeButton);
    $Volgende = $RowVolgende["FOTO_ID"];

    //LOOK FOR LAST FOTO_ID
    $VorigeButton = mysql_query("SELECT FOTO_ID FROM $table WHERE FOTO_ID < '$FID' AND CAT_ID = '$CAT' ORDER BY FOTO_ID LIMIT 1");
    $RowVorige = mysql_fetch_array($VorigeButton);
    $Vorige = $RowVorige["FOTO_ID"];
    
    if(isset($Volgende))
    {
        echo "<a href=\"thumb.php?FID=$Volgende&CAT=$CAT\">&gt;</a> ";
    }
    else
    {
        //Doe dan maar niks//
    }   
    if(isset($Vorige))
    {
        echo "<a href=\"thumb.php?FID=$Vorige&CAT=$CAT\">&lt;</a>";
    }
    else
    {
        //Doe dan maar niks//
    }

[ Voor 27% gewijzigd door Verwijderd op 17-03-2004 11:21 ]


Acties:
  • 0 Henk 'm!

  • Cartman!
  • Registratie: April 2000
  • Niet online
ik heb laatst een foto album gemaakt ook, en ik race de directory door, gooi die fileinfo in een array. en met t id weet je welke de huidige is, en dan met de array kun je simpel bepalen welke ervoor en erna komt....
Pagina: 1