вывод из БД

LG
На сайте с 17.01.2014
Offline
42
761

Пожалуйста в чем косяк, вывожу информацию для карты из бд, для меток

вот так выводится все метки

$query = 'SELECT
oc_t_item.pk_i_id,
oc_t_item.fk_i_category_id,
oc_t_item_location.fk_i_item_id,
oc_t_item_location.coordS,
oc_t_item_location.s_address,
oc_t_item_location.s_city,
oc_t_item_description.s_title,
oc_t_item_description.fk_i_item_id
FROM oc_t_item_location
INNER JOIN oc_t_item
ON oc_t_item_location.fk_i_item_id = oc_t_item.pk_i_id
INNER JOIN oc_t_item_description
ON oc_t_item_location.fk_i_item_id = oc_t_item_description.fk_i_item_id';

$res = mysql_query( $query );
while( $prd = mysql_fetch_assoc($res)) {
if (strlen($prd['coordS'])) {
$string = $prd['fk_i_item_id']." : { id: ".$prd['fk_i_item_id'].", coord: [".$prd['coordS']."], groupS : '".$prd['fk_i_category_id']."', name : '".$prd['s_title']."', address : '".$prd['s_address']."', raion : '".$prd['s_city']."', link : '<a href=\"\">ссылка</a>' }";
array_push($objects, $string);
}

но только я хочу ограничить показ не нужных мне меток, чтобы показывались метки у которых id соответствует значению $page['pk_i_id'] и делаю так:

$query = 'SELECT
oc_t_item.pk_i_id,
oc_t_item.fk_i_category_id,
oc_t_item_location.fk_i_item_id,
oc_t_item_location.coordS,
oc_t_item_location.s_address,
oc_t_item_location.s_city,
oc_t_item_description.s_title,
oc_t_item_description.fk_i_item_id
FROM oc_t_item_location
INNER JOIN oc_t_item
ON oc_t_item_location.fk_i_item_id = oc_t_item.pk_i_id
INNER JOIN oc_t_item_description
ON oc_t_item_location.fk_i_item_id = oc_t_item_description.fk_i_item_id
WHERE oc_t_item_location.fk_i_item_id = '.$page['pk_i_id'];

$res = mysql_query( $query );
while( $prd = mysql_fetch_assoc($res)) {
if (strlen($prd['coordS'])) {
$string = $prd['fk_i_item_id']." : { id: ".$prd['fk_i_item_id'].", coord: [".$prd['coordS']."], groupS : '".$prd['fk_i_category_id']."', name : '".$prd['s_title']."', address : '".$prd['s_address']."', raion : '".$prd['s_city']."', link : '<a href=\"\">ссылка</a>' }";
array_push($objects, $string);
}

добавляю строку WHERE oc_t_item_location.fk_i_item_id = '.$page['pk_i_id']; то все метки пропадают, может я где то в синтаксисе ошибся, я слабеньки в этом вопросе, подправьте и помоги пожалуйста) спасибо.

---------- Добавлено 18.07.2017 в 21:09 ----------

$id = $page['pk_i_id'];
$query = 'SELECT
oc_t_item.pk_i_id,
oc_t_item.fk_i_category_id,
oc_t_item_location.fk_i_item_id,
oc_t_item_location.coordS,
oc_t_item_location.s_address,
oc_t_item_location.s_city,
oc_t_item_description.s_title,
oc_t_item_description.fk_i_item_id
FROM oc_t_item_location
INNER JOIN oc_t_item
ON oc_t_item_location.fk_i_item_id = oc_t_item.pk_i_id
INNER JOIN oc_t_item_description
ON oc_t_item_location.fk_i_item_id = oc_t_item_description.fk_i_item_id
WHERE fk_i_item_id = '.$id;

еще такой вариант пробовал не катит

[umka]
На сайте с 25.05.2008
Offline
456
#1

Вы сначала в каком-нибудь phpMyAdmin-е попробуйте заставить работать этот запрос с конкретным условием, а потом уже пытайтесь запихнуть его в PHP.

Лог в помощь!

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