Versio

Vorige, volgende werkt niet

Overzicht Reageren

/home/joost

/home/joost

20/07/2009 15:11:00
Quote Anchor link
Ik heb de volgende class om de volgende/vorige foto te bepalen:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
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
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
<?php
class album {
    function
volgende($album, $huidige) {
        $qry = "SELECT * FROM foto WHERE album = '".$album."' ORDER BY volg_nr ASC";
        if ( !($result=mysql_query($qry)) ) {
            echo 'Error: '.mysql_error();
        }

        else {
            if (isset($huidige)) {
                $int_volgende=0;
                while ($row=mysql_fetch_assoc($result)) {
                    if ($int_volgende == 1) {
                        $this->volgende=$row["id"];
                    }

                    if ($row["id"] == $huidige) {
                        $int_volgende++;
                    }
                }

                if ($this->volgende == "") {
                    $this->volgende="none";
                }
            }

            else {
                $this->volgende = "De variabel \$huidige is niet geset!";
            }
        }

        return $this->volgende;
    }
    function
vorige($album, $huidige) {
        $qry = "SELECT * FROM foto WHERE album = '".$album."' ORDER BY volg_nr DESC";
        if ( !($result=mysql_query($qry)) ) {
            echo 'Error: '.mysql_error();
        }

        else {
            $int_vorige=0;
            while ($row=mysql_fetch_assoc($result)) {
                if ($int_vorige == 1) {
                    $this->vorige=$row["id"];
                }

                if ($row["id"] == $huidige) {
                    $int_vorige++;
                }
            }

            if ($this->vorige == "") {
                $this->vorige="none";
            }
        }

        return $this->vorige;
    }
}

?>


Alleen ik krijg niet de volgende maar de een na laatste, en ipv de vorige krijg ik de eerste, weet iemand wat ik verkeerd doe ??
Gewijzigd op 01/01/1970 01:00:00 door /home/joost
 
PHP hulp

PHP hulp

25/05/2012 17:51:11
Gesponsorde koppelingen:
BHosted Hosting al vanaf € 1,- per maand

Controleer nu gratis jouw domeinnaam:

  
 
/home/joost

/home/joost

21/07/2009 10:25:00
Quote Anchor link
Bump...
 
Timen

Timen

21/07/2009 11:32:00
Quote Anchor link
Je geeft alleen een andere volgorde van ordenen aan in je query(van 1 tot 10, of van 10 tot 1), dat is niet echt vorige/volgende imo.
 
/home/joost

/home/joost

21/07/2009 11:51:00
Quote Anchor link
Jawel toch, ik heb namelijk een volg_nr aan iedere foto gegeven, ik zet ff de database erbij...

CREATE TABLE `foto` (
`id` int(11) NOT NULL auto_increment,
`album` int(11) NOT NULL default '0',
`titel` varchar(150) collate utf8_unicode_ci NOT NULL default '',
`naam` varchar(150) collate utf8_unicode_ci NOT NULL default '',
`beschrijving` text collate utf8_unicode_ci NOT NULL,
`volg_nr` int(11) NOT NULL default '0',
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=28 ;

--
-- Gegevens worden uitgevoerd voor tabel `foto`
--

INSERT INTO `foto` VALUES (1, 1, 'Dapple ~ 07-03-2009', '1248092179IMG_3182.JPG', 'M\'n broertjes, zussen en ik', 1);
INSERT INTO `foto` VALUES (2, 1, 'Dapple ~ 07-03-2009', '1248092356IMG_3192.JPG', 'Mama verzorgt ons prima', 2);
INSERT INTO `foto` VALUES (3, 1, 'Dapple ~ 07-03-2009', '1248092391IMG_3224.JPG', 'Allemaal lekker slapende', 3);
INSERT INTO `foto` VALUES (4, 1, 'Dapple ~ 07-03-2009', '1248092466IMG_3234.JPG', 'Lief he!', 4);
INSERT INTO `foto` VALUES (5, 1, 'Dapple ~ 07-03-2009', '1248092507IMG_3340.JPG', 'Aan de melkbar :-)', 5);
INSERT INTO `foto` VALUES (6, 1, 'Dapple ~ 23-03-2009', '1248092602IMG_3477.JPG', 'Dit is ook lekker hoor!', 6);


Hoe zou ik het moeten doen dan ??


Edit::
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
<?php
while ($row=mysql_fetch_assoc($result)) {
    if ($int_volgende == 1) {
        $this->volgende=$row["id"];
        $int_volgende--;
    }

    if ($row["id"] == $huidige) {
        $int_volgende++;
    }
}

?>

Ik vergat $int_volgende--; te doen :P, domme fout....
Gewijzigd op 01/01/1970 01:00:00 door /home/joost
 



Overzicht Reageren

Get Adobe Flash player