Как да намира следващо-предишно?

AceXe

Registered
Имам следния казус. Долу имам проста mysql структура. При конкретизиране в php заявката си получавам нужния резултат. Но ми трябва на същата страница да има линк към следващо видео или предишно. Същото важи и за статиите. Тоест казано иначе, ако аз имам една страница извеждаща резултати за id 2 да кажем, как мога чрез това да изведа резултати за следващото и предишното интервю, тоест id 1 и id 5. +/- единици за id в някакъв ред няма да помогне, защото имам и статии, а не трябва да се смесват, а пък и някои id-та се прескачат. Мерси предварително :)

id - type - content

1 - video - bla bla
2 - video - bla bla
4 - article - bla bla
5 - video - bla bla
6 - article - bla bla
8 - video - bla bla
11 - video - bla bla
12 - article - bla bla
 
Еми ти си имаш една заявка да предположим, че заявката е така и първоначало зимаш и id де .. да речем кода е така :

$id=$_GET['id'];
$query=mysql_query("SELECT * FROM `table` WHERE `id` = '$id") or die(mysql_error());

така и тук вече цикал или там каквото ползваш за извеждането отдоло за предишната новина ли е какво е ще стане $minala=$id-1; и така правиш нова зявка досущ като първата само дете `id` няма да е равно на $id ами на $minala тоест $id-1; и за следваща смисал да речем ако ид е 2 за 3-тата новина или там какво е ще стане $next=$id+1; и пак такава заявка само дето `id` ще е равно на $next
 
Това е най-лесния вариант, но както обясних - не върши работа в случая. Различаването на видео от статия с трета зявка може да се направи, но има ID-та, които липсват - 1, 2, 4, 5, 6, 8, 11, 12. Ето това е проблема. Ако id-то го няма как да отиде на следващия резултат, които е видео.
 
Ами ще се направи проверка дали съществува, ако не съществува ще отиде на следващото ето как щее стаме :

Код:
$query=mysql_query("SELECT * FROM `table` WHERE `id` = '$id") or die(mysql_error()); 
$check=mysql_num_rows($query);
if ($check < 1)
{
$next=$id+2;
}
else
{
$next=$id+1;
}
нещо такова ..
 
Споделих го с теб, защото и аз се мъчих с тази дилема и след като ми помогнаха бях много радостен и затова мислех, че ще ти помогне и стана така.
Успех нататък :)
 

Back
Горе