Перейти к содержанию
Форум поддержки пользователей VamShop

Список всех товаров из категории в информации о товаре


Рекомендуемые сообщения

а sql запрос полностью выкладывал выше, Вы ко мне то на ты, то на Вы :))) можно на ты.

пока ничего додумать по поводу скрипта не могу.

Ссылка на сообщение
Поделиться на другие сайты
  • Ответов 100
  • Created
  • Последний ответ

Top Posters In This Topic

  • Frycrosoft

    42

  • support

    29

  • mosquito

    20

  • Valyok

    7

Могу лишь посоветовать посмотреть как создаются sql запросы $listing_sql в /includes/modules/default.php

Там как раз идёт запрос товаров из конкретных категорий.

Может поможет чем.

Ссылка на сообщение
Поделиться на другие сайты

  p.products_id, p.products_page_url, pd.products_name, m.manufacturers_id, m.manufacturers_name

    from

    " . TABLE_PRODUCTS . " p LEFT JOIN

    " . TABLE_MANUFACTURERS . " m ON

    p.manufacturers_id = m.manufacturers_id LEFT JOIN

    " . TABLE_PRODUCTS_DESCRIPTION . " pd ON

        p.products_id = pd.products_id AND

    pd.language_id = '".$_SESSION['languages_id']."'

    " . TABLE_PRODUCTS_TO_CATEGORIES . " ptc ON

    where ptc.categories_id = '".$current_category_id."'

    GROUP BY

    p.products_id

    order by

    '".@$_GET['sort_by']."',

    pd.products_name";

по идеи это должно быть как-то так. но это не так:) пишет что ошибка в " . TABLE_PRODUCTS_TO_CATEGORIES . " ptc ON

Ссылка на сообщение
Поделиться на другие сайты

Вроде бы да.

Но переменная $current_category_id выводит что-нибудь?!

Наверное она пустая на странице карточки товара ведь.

Ссылка на сообщение
Поделиться на другие сайты
  • 2 weeks later...

не, не катит

вот такой код он боле-менее принимает, но ничего не выводит

    p.products_id, p.products_page_url, pd.products_name, m.manufacturers_id, m.manufacturers_name

    from     

    " . TABLE_PRODUCTS . " p LEFT JOIN

    " . TABLE_MANUFACTURERS . " m ON

    p.manufacturers_id = m.manufacturers_id LEFT JOIN

    " . TABLE_PRODUCTS_DESCRIPTION . " pd ON

        p.products_id = pd.products_id AND

    pd.language_id = '".$_SESSION['languages_id']."'

where m.manufacturers_id = '".(int) $_GET['cat']."'";

:(

Ссылка на сообщение
Поделиться на другие сайты

ne ny tu g smotri tu ho4ew vubrat' kategorii a piwew m.manufacturers_id toest' proizvoditel9


p.products_id, p.products_page_url, pd.products_name, m.manufacturers_id, m.manufacturers_name
                                        from     
                                        " . TABLE_PRODUCTS . " p LEFT JOIN
                                        " . TABLE_MANUFACTURERS . " m ON
                                        p.manufacturers_id = m.manufacturers_id LEFT JOIN
                                        " . TABLE_PRODUCTS_DESCRIPTION . " pd ON
                                        p.products_id = pd.products_id AND
                                        pd.language_id = '".$_SESSION['languages_id']."'
LEFT JOIN
                                        " . TABLE_PRODUCTS_TO_CATEGORIES . " ptc ON
                                        (p.products_id = ptc.products_id)
                                      where ptc.categories_id = '".(int) $_GET['cat']."'";[/code]

poprobyj gdeto tak

Ссылка на сообщение
Поделиться на другие сайты

Я могу лишь теорию сказать.

Нужно по id товара (ты же знаешь id товара, раз в карточке товара находишься), т.е. зная $_GET['products_id'] нужно с помощью sql запросов сначала получить id категории, в которой относится товара, это можно получить из таблицы products_to_categories и затем уже зная id категории получать список товаров категории.

Также можно попробовать использовать функцию /inc/vam_get_product_path.inc.php

По идее, должна помочь.

Ссылка на сообщение
Поделиться на другие сайты

ya g ne testil ya piwy srazy s foruma mb ptc.products_id nygno vverh v spisok dobavit' xz probyj dal'we nety vremeni testit' doma posmotryu zavtra napiwy wo poly4itsa

p.s. doma neta nety ;/

Ссылка на сообщение
Поделиться на другие сайты

i ewe za4em tyt vobwe manufacturers esli tebe nygnu vse tovaru iz kategorii? pomoemy ety 4ast' zaprosa nygno ybrat'... koro4e zavtra pridy napiwy 4to poly4ilos'

p.s. sor za translit... spewy ;/

Ссылка на сообщение
Поделиться на другие сайты

Теперь код выглядит так, но все равно тишина:

    $export_query = "select

p.products_id, p.products_page_url, pd.products_name

                                        from     

                                        " . TABLE_PRODUCTS . " p LEFT JOIN

                                        " . TABLE_PRODUCTS_DESCRIPTION . " pd ON

                                        p.products_id = pd.products_id AND

                                        pd.language_id = '".$_SESSION['languages_id']."'

LEFT JOIN

                                        " . TABLE_PRODUCTS_TO_CATEGORIES . " ptc ON

                                        (p.products_id = ptc.products_id)

                                      where ptc.categories_id = '".$_GET['cat']."'";

$export_query = vamDBquery($export_query);

    while ($row = vam_db_fetch_array($export_query,true)) {

            $test .= '<a href='.vam_href_link('' .$row["products_page_url]).'">' .$row["products_name"]. '</a> | ';

    }

Ссылка на сообщение
Поделиться на другие сайты

sql запросы сначала всегда проверяй не на странице а в phpmyadmin или в чем то типа этого а потом переделуй под vamshop

select p.products_id, pd.products_name, p.products_price, ptc.categories_id  from products as p
left join products_description as pd on (p.products_id = pd.products_id)
left join products_to_categories as ptc on (p.products_id = ptc.products_id)
where (ptc.categories_id = '1')
group by pd.products_name
order by p.products_price desc
limit 100[/code] это пробуй через phpmadmin если ничего не выводит то заполни сначала бд... а потом будем продолжать розговор )
[code] $query = "SELECT * FFROM ". TABLES_PRODUCTS." as p ";
$query .= "LEFT JOIN ".TABLES_PRODUCTS_DESCRIPTION." as pd ON (p.products_id = pd.products_id) "
$query .= "LEFT JOIN ".TABLES_PRODUCTS_TO_CATEGORIES." as ptc ON (p.products_id = ptc.products_id) "
$query .= "WHERE (ptc.categories_id = '".$current_category_id."');"

$xproducts_query = vamDBquery($query);
$xproducts_list = "<ul>";
while ($xproducts_data = vam_db_fetch_array($xproducts_query, true)){
$xproducts_list .= "<li>".$xproducts_data['products_name']."</li>";
}
$xproducts_list .= "</ul>";

$info->assign('XPRODUCTS_LIST', $xproducts_list);

ето встав в магаз должно работать (у меня все норм)

Ссылка на сообщение
Поделиться на другие сайты

в твоем коде, как я понял, не хватало точек запятых и FFROM написанно с двумя F, и TABLES заменил на TABLE. это я исправил.

PHP MY ADMIN вывел данные из категории 1, т.е. все ок.

Вставил код в product_info.php

после $info->assign('PRODUCTS_MODEL', $product->data['products_model']);

вот такой код вставил:

		
$query .= "SELECT * FROM ".TABLE_PRODUCTS." as p ";
$query .= "LEFT JOIN ".TABLE_PRODUCTS_DESCRIPTION." as pd ON (p.products_id = pd.products_id) ";
$query .= "LEFT JOIN ".TABLE_PRODUCTS_TO_CATEGORIES." as ptc ON (p.products_id = ptc.products_id) ";
$query .= "WHERE (ptc.categories_id = '".$current_category_id."');";

$xproducts_query = vamDBquery($query);
$xproducts_list = "<ul>";
while ($xproducts_data = vam_db_fetch_array($xproducts_query, true)){
$xproducts_list .= "<li>".$xproducts_data['products_name']."</li>";
}
$xproducts_list .= "</ul>";

$info->assign('XPRODUCTS_LIST', $xproducts_list);
[/code]

Сайт выдал ошибку:

20/01/2009 12:01:31 | 1064 - 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 'Resource id #302SELECT * FROM products as p LEFT JOIN products_description as pd' at line 1 | Resource id #302SELECT * FROM products as p LEFT JOIN products_description as pd ON (p.products_id = pd.products_id) LEFT JOIN products_to_categories as ptc ON (p.products_id = ptc.products_id) WHERE (ptc.categories_id = '1'); | /modernart.html

может это я что-то не так сделал?

прикрепи пожалуйста product_info.php я посмотрю куда ты вставил

Ссылка на сообщение
Поделиться на другие сайты

$query .= "SELECT * FROM ".TABLE_PRODUCTS." as p ";
попробуй "." убрать перед "=" может быть она гдето раньше определена ($query).

делал дома тут негде пока проверить чуть позже мб посмотрб если не исправиш...

Ссылка на сообщение
Поделиться на другие сайты

теперь ошибка:

20/01/2009 12:01:47 | 1064 - 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 (ptc.categories_id = '1')' at line 1 | WHERE (ptc.categories_id = '1')  | /ggfk.html

Ссылка на сообщение
Поделиться на другие сайты

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

посмотри немного php )

product_info.php

Ссылка на сообщение
Поделиться на другие сайты

непонятен код

$xproducts_query = vamDBquery($query);

$xproducts_list = "<ul>";

while ($xproducts_data = vam_db_fetch_array($xproducts_query, true)){

$xproducts_list .= "<li>".$xproducts_data['products_name']."</li>";

}

$xproducts_list .= "</ul>";

может ошибка в нем?

Ссылка на сообщение
Поделиться на другие сайты

×
×
  • Создать...