Mam taką tabelę:
CREATE TABLE IF NOT EXISTS `zdjecia` ( `bf_id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT, `idusera` int(11) NOT NULL, `idgalerii ` int(11) NOT NULL, `nazwa` varchar(85) COLLATE utf8_unicode_ci DEFAULT NULL, `miejsce` varchar(80) COLLATE utf8_unicode_ci DEFAULT NULL, `obrazek` varchar(65) COLLATE utf8_unicode_ci DEFAULT NULL, UNIQUE KEY `bf_id` (`bf_id`), UNIQUE KEY `bf_id_2` (`bf_id`), KEY `bf_id_3` (`bf_id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=1 ;
Mam 2 listy zdjęć/galerie (różniące się sortowaniem):
1. SELECT bf_id, obrazek, miejsce, nazwa FROM zdjecia WHERE idusera=:idusera AND miejsce=:miejsce ORDER BY nazwa ASC; 2. SELECT obrazek, idgalerii, nazwa, miejsce, bf_id FROM zdjecia WHERE idgalerii=:idgalerii ORDER BY nazwa ASC;
Potrzebuję dla obu list w podglądzie zdjęcia zrobić guziczki "następne zdjęcie" oraz "poprzednie zdjęcie".
Mam aktualnie taki kod dla pkt1:
SELECT bf_id FROM zdjecia WHERE miejsce=:miejsce AND bf_id = (SELECT MIN(bf_id) FROM zdjecia WHERE bf_id>:idobecne) ORDER BY nazwa ASC LIMIT 1; SELECT bf_id FROM zdjecia WHERE miejsce=:miejsce AND bf_id = (SELECT MAX(bf_id) FROM zdjecia WHERE bf_id<:idobecne) ORDER BY nazwa ASC LIMIT 1;
oraz dla pkt 2:
SELECT MIN(bf_id) AS bf_id FROM zdjecia WHERE bf_id>:bf_id AND idgalerii=:idgalerii ORDER BY nazwa ASC LIMIT 1; SELECT MAX(bf_id) AS bf_id FROM zdjecia WHERE bf_id<:bf_id AND idgalerii=:idgalerii ORDER BY nazwa ASC LIMIT 1;
Użytkownik może:
a) wejść w dowolne miejsce w galerii aby je podejrzeć

W chwili obecnej strzałki nie pokrywają się z kolejnością :-(
Ma ktoś może pomysł jak naprawić moje zapytania? Jak one powinny wyglądać żeby to wyglądało poprawnie?
Bardzo proszę o pomoc,
Northwest
nikt nie potrafi mi pomóc??
