Autor Zpráva
Maringotka
Profil *
Zdravím.

Rád bych se zeptal, je-li možné při získávání určitého řádku (např. podle ID) rovnou získat i ID (a nic víc) předchozího a následujícího záznamu. Je na to v MySQL nějaký fígl?

Děkuji.
Maringotka
Profil *
Omlouvám se za nezagooglení :-(

Přišel jsem na to, čili posílám řešení, někomu to třeba pomůže:

SELECT *, `id` as `actual`,
(SELECT `id` FROM `novinky` WHERE `id` < `actual` ORDER BY `id` DESC LIMIT 1) AS `prev`,
(SELECT `id` FROM `novinky` WHERE `id` > `actual` LIMIT 1) AS `next`
FROM `news` 
WHERE `id` = 37
Tori
Profil
Maringotka:
Pokud vyhledáváte podle ID ze spojité řady, tak by snad mělo stačit
SELECT *, id-1 'prev', id+1 'next' FROM novinky

ediit:↓ jasně, nedošlo mi, omlouvám se.
Maringotka
Profil *
Jistě, ovšem pokud je možné jednotlivé záznamy spravovat (tedy i mazat), pak není jiná možnost.

Ještě bych chtěl upozornit na nekonzistentní název tabulky v záznamu - všude by mělo být FROM `novinky`.

Díky.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0