Cute News - вопрос....

MASe
На сайте с 17.09.2002
Offline
219
1050

Приветствую...

никто не пользуется CuteNews????

всем движок устраивает.... за исключением одного - не могу добиться грамотной внутренней перелинковки... :-(

с базами и пхп я не в больших ладах... так - балуюсь тока...

пытаюсь перелинковать внутренние страницы статей в классическое самоподерживающее кольцо обратного направления (т.е. 10 новость ссылается на 9-ю, 9-ая на 8-ю... 1-ая на последнюю...)

готовой функции для "копи-паста" нету... :-(

ковыряю базы, языки, собственные познания - не получается :-(

что пытаюсь получить (скрин базы в аттаче):

открытая новость имеет свой id

я присваиваю переменной $id_new текущее значение $id - 1

$id_new = $id-1; // получаю предыдущий ID

потом для этого $id_new я запросом из базы должен вытащить данные и присваиваю их переменным, т.е.

$title_new = $title($id_new); (ну или как там правильно по синтаксису ;-) )

и в итоге получаю ссылку на статью предыдущую вида:

<a href="http://site.ru/news?id=<? $id_new; ?>"><? $title_new; ?></a>

никто не реализовывал на собственных проектах???

блин - там один запрос всего... а не рублю :-(

jpg bd_screenshot.jpg
Only God Can Judge Me... Nobody Else... Дрезна (http://www.drezna.ru/) Помощники: Sape (http://www.sape.ru/r.167724536c.php)
MASe
На сайте с 17.09.2002
Offline
219
#1

ребят... ну чего - никто не подскажет?

Meravingen
На сайте с 13.11.2007
Offline
76
#2

На оф. форуме в разделе с хаками находил и ставил мод, который в полной новости показывал "<<Предыдущая новость Следующая новость>>". Как я понял, надо именно это.

Не оно? http://cutephp.com/forum/index.php?showtopic=2116

MASe
На сайте с 17.09.2002
Offline
219
#3
Meravingen:
На оф. форуме в разделе с хаками находил и ставил мод, который в полной новости показывал "<<Предыдущая новость Следующая новость>>". Как я понял, надо именно это.

Не оно? http://cutephp.com/forum/index.php?showtopic=2116

да не... предыдущая / следующая ставятся...

вопрос - как сделать так чтобы они ставились с анкором нужным!!!! т.е. с тайтлом этих новостей...

каким запросом его вытянуть?

Meravingen
На сайте с 13.11.2007
Offline
76
#4

Аааа, вот это не подскажу... Давно перелез с Cute News на Strawberry. Там функционал получше. А базу перенести можно.

По CN я что-то смутно помню, что делал вытягивание из бд конкретных вещей. Посмотрите файл shows.inc. Там же работа с БД и показана. Вот вытягивание тайтла из БД - $output = str_replace("{title}", $news_arr[2], $output);. Поищите по этой строчке, там по окружению, думаю, понятнее будет.

MASe
На сайте с 17.09.2002
Offline
219
#5
Meravingen:
Аааа, вот это не подскажу... Давно перелез с Cute News на Strawberry. Там функционал получше. А базу перенести можно.
По CN я что-то смутно помню, что делал вытягивание из бд конкретных вещей. Посмотрите файл shows.inc. Там же работа с БД и показана. Вот вытягивание тайтла из БД - $output = str_replace("{title}", $news_arr[2], $output);. Поищите по этой строчке, там по окружению, думаю, понятнее будет.

да не... на самом деле я чего то ступил... по привычке скрипт Кьютом обозвал...

конечно же это Страобери 1-1-1...

ну база то движка практически единая...

вот для Strawberry и ищу!

Meravingen
На сайте с 13.11.2007
Offline
76
#6

MASe, спросите на их форуме, там народ отзывчивый, мне помогли как-то раз серьезно ;).

T
На сайте с 11.07.2007
Offline
43
#7

К сожалению сам я этот двиг никогда не видел, но могу поделится соображениями...

Если у вас таким способом $new_id правильно определятся, то можно так:

$title = "";//инициализируем тайтл

$q = "select `title` from `cute_news` where `id` = '$new_id'"; //сам запрос

/*делаем запрос, если скл сервер вернул ошибку, падаем с описанием ошибки. Узкое место, т.к. по идее ошибка не должна валить весь скрипт, но для отладки самое оно:*/

$r = mysql_query($q) or die("$q<br>".mysql_error());

if(mysql_num_rows($r) == 1) //если запрос вернул ровно одну запись

$title = mysql_result($r, 0); //получаем её первое и единственное поле в $title...

Но т.к. `id` это примари кей с флагом auto_increment, то если вы допустем забъете 10 новостей, потом удалите пятую, то между пятой и четвертой будет "дырка"... и вашем способом новость не найдется, а потом что делать если у новости ид 0 или она скрытая?

Мне кажется стоит использовать что-то типа "select `id` from `cute_news` where `hidden` = 0 order by `date` desc", собирать в массив все отображаемые новости и по нему потом определять соседние айдишники.

Код не проверял, но вроде должно работать=).

MASe
На сайте с 17.09.2002
Offline
219
#8
Meravingen:
MASe, спросите на их форуме, там народ отзывчивый, мне помогли как-то раз серьезно ;).

http://strawberry.goodgirl.ru/forum/viewtopic.php?id=1522&action=new

уже ;-).... жду вот...

MASe
На сайте с 17.09.2002
Offline
219
#9
Toster:
К сожалению сам я этот двиг никогда не видел, но могу поделится соображениями...

Если у вас таким способом $new_id правильно определятся, то можно так:

$title = "";//инициализируем тайтл
$q = "select `title` from `cute_news` where `id` = '$new_id'"; //сам запрос
/*делаем запрос, если скл сервер вернул ошибку, падаем с описанием ошибки. Узкое место, т.к. по идее ошибка не должна валить весь скрипт, но для отладки самое оно:*/
$r = mysql_query($q) or die("$q<br>".mysql_error());
if(mysql_num_rows($r) == 1) //если запрос вернул ровно одну запись
$title = mysql_result($r, 0); //получаем её первое и единственное поле в $title...

Но т.к. `id` это примари кей с флагом auto_increment, то если вы допустем забъете 10 новостей, потом удалите пятую, то между пятой и четвертой будет "дырка"... и вашем способом новость не найдется, а потом что делать если у новости ид 0 или она скрытая?
Мне кажется стоит использовать что-то типа "select `id` from `cute_news` where `hidden` = 0 order by `date` desc", собирать в массив все отображаемые новости и по нему потом определять соседние айдишники.

Код не проверял, но вроде должно работать=).

спасибо - попробую...

с "дырой" по пропаже новости - понимаю... но посты будут вечными - это точно...

при нуле планирую условие ставить - если ид=0, то ничего не выводи...

MASe
На сайте с 17.09.2002
Offline
219
#10
Toster:
К сожалению сам я этот двиг никогда не видел, но могу поделится соображениями...

Если у вас таким способом $new_id правильно определятся, то можно так

Код не проверял, но вроде должно работать=).

Попробовал код...

СУПЕР!!! именно то что надо!!!!

спасибо наиогромнейшее!!!!!

плюсик Вам заслуженный!!!!

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий