Vorige, volgende werkt niet
Code (php)
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
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;
}
}
?>
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
Bump...
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.
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::
Ik vergat $int_volgende--; te doen :P, domme fout....
Code (php)
1
2
3
4
5
6
7
8
9
10
11
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++;
}
}
?>
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