HTML beginner |
|
Je kan dit relatief simpel oplossen door je sql ongeveer zo op te bouwen:
SELECT foto,(COUNT * FROM T_foto WHERE fotoid<=$id_to_enlarge),(COUNT * FROM T_foto),
(SELECT fotoid AS previous WHERE previous<$id_to_enlarge ORDER BY previous DESC LIMIT 1),
(SELECT fotoid AS next WHERE next>$id_to_enlarge ORDER BY next ASC LIMIT 1),
FROM T_foto WHERE fotoid=$id_to_enlarge
SELECT foto,(COUNT * FROM T_foto WHERE fotoid<=$id_to_enlarge),(COUNT * FROM T_foto), (SELECT fotoid AS previous WHERE previous<$id_to_enlarge ORDER BY previous DESC LIMIT 1), (SELECT fotoid AS next WHERE next>$id_to_enlarge ORDER BY next ASC LIMIT 1), FROM T_foto WHERE fotoid=$id_to_enlarge
met foto de field die verwijst naar de picture, fotoid een id-field (autoincrement) in mysql, T_foto de tabel waar de foto's in staan; en $id_to_enlarge een php-variabele die verwijst naar de fotoid dewelke je toont op de pagina. Natuurlijk verwijzen precious en next naar de fotoid die respectievelijk de vorige en volgende foto aanduiden.
Dit werkt indien je er zeker van bent dat fotoid altijd van laag naar hoog is gerangschikt (bvb autoincrement primary key). Dan mogen er zelfs foto's gedelete zijn. Indien je op een ander veld rangschikt, moet je de query herschrijven.
[EDIT] Ik was blijkbaar te laat met posten |