Frycrosoft 0 Опубликовано 10 января, 2009 Автор Жалоба Share Опубликовано 10 января, 2009 а sql запрос полностью выкладывал выше, Вы ко мне то на ты, то на Вы :))) можно на ты. пока ничего додумать по поводу скрипта не могу. Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 10 января, 2009 Жалоба Share Опубликовано 10 января, 2009 Могу лишь посоветовать посмотреть как создаются sql запросы $listing_sql в /includes/modules/default.php Там как раз идёт запрос товаров из конкретных категорий. Может поможет чем. Ссылка на сообщение Поделиться на другие сайты
Frycrosoft 0 Опубликовано 10 января, 2009 Автор Жалоба Share Опубликовано 10 января, 2009 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 Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 11 января, 2009 Жалоба Share Опубликовано 11 января, 2009 Вроде бы да. Но переменная $current_category_id выводит что-нибудь?! Наверное она пустая на странице карточки товара ведь. Ссылка на сообщение Поделиться на другие сайты
Frycrosoft 0 Опубликовано 19 января, 2009 Автор Жалоба Share Опубликовано 19 января, 2009 да она пустая, как поступить подругому? Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 19 января, 2009 Жалоба Share Опубликовано 19 января, 2009 А если писать $cat или $_GET['cat] !? Ссылка на сообщение Поделиться на другие сайты
Frycrosoft 0 Опубликовано 19 января, 2009 Автор Жалоба Share Опубликовано 19 января, 2009 не, не катит вот такой код он боле-менее принимает, но ничего не выводит 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']."'"; :( Ссылка на сообщение Поделиться на другие сайты
mosquito 0 Опубликовано 19 января, 2009 Жалоба Share Опубликовано 19 января, 2009 where m.manufacturers_id = '".(int) $_GET['cat']."'";??? но ничего не выводит как не странно ) Ссылка на сообщение Поделиться на другие сайты
Frycrosoft 0 Опубликовано 19 января, 2009 Автор Жалоба Share Опубликовано 19 января, 2009 как правильно? поможете? Ссылка на сообщение Поделиться на другие сайты
mosquito 0 Опубликовано 19 января, 2009 Жалоба Share Опубликовано 19 января, 2009 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 Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 19 января, 2009 Жалоба Share Опубликовано 19 января, 2009 Я могу лишь теорию сказать. Нужно по id товара (ты же знаешь id товара, раз в карточке товара находишься), т.е. зная $_GET['products_id'] нужно с помощью sql запросов сначала получить id категории, в которой относится товара, это можно получить из таблицы products_to_categories и затем уже зная id категории получать список товаров категории. Также можно попробовать использовать функцию /inc/vam_get_product_path.inc.php По идее, должна помочь. Ссылка на сообщение Поделиться на другие сайты
Frycrosoft 0 Опубликовано 19 января, 2009 Автор Жалоба Share Опубликовано 19 января, 2009 to mosquito - вставил - молчит! to VaM буду думать :( Ссылка на сообщение Поделиться на другие сайты
mosquito 0 Опубликовано 19 января, 2009 Жалоба Share Опубликовано 19 января, 2009 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 ;/ Ссылка на сообщение Поделиться на другие сайты
mosquito 0 Опубликовано 19 января, 2009 Жалоба Share Опубликовано 19 января, 2009 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 ;/ Ссылка на сообщение Поделиться на другие сайты
Frycrosoft 0 Опубликовано 19 января, 2009 Автор Жалоба Share Опубликовано 19 января, 2009 спасибо большое !!! мне это очень надо, но мозг отказывается работать уже :( Ссылка на сообщение Поделиться на другие сайты
Frycrosoft 0 Опубликовано 19 января, 2009 Автор Жалоба Share Опубликовано 19 января, 2009 Теперь код выглядит так, но все равно тишина: $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> | '; } Ссылка на сообщение Поделиться на другие сайты
mosquito 0 Опубликовано 20 января, 2009 Жалоба Share Опубликовано 20 января, 2009 sql запросы сначала всегда проверяй не на странице а в phpmyadmin или в чем то типа этого а потом переделуй под vamshop select p.products_id, pd.products_name, p.products_price, ptc.categories_id from products as pleft 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_nameorder by p.products_price desclimit 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); ето встав в магаз должно работать (у меня все норм) Ссылка на сообщение Поделиться на другие сайты
Frycrosoft 0 Опубликовано 20 января, 2009 Автор Жалоба Share Опубликовано 20 января, 2009 в твоем коде, как я понял, не хватало точек запятых и 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 я посмотрю куда ты вставил Ссылка на сообщение Поделиться на другие сайты
mosquito 0 Опубликовано 20 января, 2009 Жалоба Share Опубликовано 20 января, 2009 $query .= "SELECT * FROM ".TABLE_PRODUCTS." as p "; попробуй "." убрать перед "=" может быть она гдето раньше определена ($query).делал дома тут негде пока проверить чуть позже мб посмотрб если не исправиш... Ссылка на сообщение Поделиться на другие сайты
Frycrosoft 0 Опубликовано 20 января, 2009 Автор Жалоба Share Опубликовано 20 января, 2009 теперь ошибка: 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 Ссылка на сообщение Поделиться на другие сайты
mosquito 0 Опубликовано 20 января, 2009 Жалоба Share Опубликовано 20 января, 2009 короче кинь сюда свой файл щас попробую щото переделать.... Ссылка на сообщение Поделиться на другие сайты
Frycrosoft 0 Опубликовано 20 января, 2009 Автор Жалоба Share Опубликовано 20 января, 2009 вложил product_info.php Ссылка на сообщение Поделиться на другие сайты
mosquito 0 Опубликовано 20 января, 2009 Жалоба Share Опубликовано 20 января, 2009 смотри внимательней я ж писал токо в первой строке точку убрать... посмотри немного php ) product_info.php Ссылка на сообщение Поделиться на другие сайты
Frycrosoft 0 Опубликовано 20 января, 2009 Автор Жалоба Share Опубликовано 20 января, 2009 ошибок нет, но ничего не выводит, {$xproducts_list} вставил в product_info шаблон Ссылка на сообщение Поделиться на другие сайты
Frycrosoft 0 Опубликовано 20 января, 2009 Автор Жалоба Share Опубликовано 20 января, 2009 непонятен код $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>"; может ошибка в нем? Ссылка на сообщение Поделиться на другие сайты
Рекомендуемые сообщения