DLE id активной новости

V
На сайте с 10.01.2012
Offline
85
719

Каким образом можно узнать id текущей новости? Сам обработчик обрабатывается в клоне fullstory (php и tpl).

сейчас более важен обработчик именно в шаблоне. Реализовал таким образом:

$id_ = '';
$uri_ = $_SERVER['REQUEST_URI'];
$ok_ = false;
for ($x=strlen($uri_); ($x>1) && ($ok_ == false); $x--) {
if ($uri_[$x] == '/') {
$i_ = $x;
$ok_ = true;
}
}
$ok_ = false;
for ($x=$i_+1; ($x<strlen($uri_)) && ($ok_ == false); $x++) {
if ($uri_[$x] !== '-') {
$id_ = $id_ + $uri_[$x]; echo $uri_[$x];
}
else {$ok_ = true; }
}

Но код работает некорректно. К примеру id=84 он выдает как 8+4 и того равно 12.

По моей логике просто нужно чтобы при сложении символов они обрабатывались как строки а не числа, но как не могу вникнуть.

siv1987
На сайте с 02.04.2009
Offline
427
#1

Что за говнокод...

$id = intval( $_GET['newsid'] );

V
На сайте с 10.01.2012
Offline
85
#2

Не спорю, что сделано через одно место... не знал что так id новости можно получить.

но сейчас выдает ошибку

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHERE id=84 LIMIT 1' at line 1

сам код запроса такого вида:


$id_ = intval( $_GET['newsid'] );
$db->query( "SELECT bosy_id" . PREFIX . "_post WHERE id=" . $id_ . " LIMIT 1");

siv1987
На сайте с 02.04.2009
Offline
427
#3

После bosy_id мне кажется нужен пробел.

V
На сайте с 10.01.2012
Offline
85
#4

Не помогло

F
На сайте с 11.08.2010
Offline
27
#5

А на кой здесь LIMIT?

siv1987
На сайте с 02.04.2009
Offline
427
#6
Varenik:
Не помогло

("SELECT bosy_id FROM " . PREFIX . "_post WHERE id=" . $id_ . " LIMIT 1" );

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