Един продкт в много категории

uphero

Registered
Нещо тея дни ми бяга логиката.Та имам примерно един продукт който трябва да го запиша в няколко категории да кажем 3 ,
как да запиша категориите?
Примерно в едно поле ид-та на категориите с запетаи .Но после идва друго как селектирам по дадена категория?
Става дума за SQL заявка.
 
uphero каза:
Нещо тея дни ми бяга логиката.Та имам примерно един продукт който трябва да го запиша в няколко категории да кажем 3 ,
как да запиша категориите?
Примерно в едно поле ид-та на категориите с запетаи .Но после идва друго как селектирам по дадена категория?
Става дума за SQL заявка.

SELECT * FROM products WHERE cat = '%,$cat,%' OR cat = '%$cat,%' OR cat = '%,$cat%' or cat = '$cat'

Това ми хрумна от раз.
 
Трябва да направиш Many to Many related,
Имаш една таблица с Продукти, и друга с категорий, и трета кадето да пазиш тяхните id-ta
примерни таблици products, categories, product_category

SELECT (каквото искаш да вземеш) FROM products as t1 INNER JOIN product_category as t2 ON t1.id = t2.product_id INNER JOIN categories as t3 ON t2.category_id = t3.id WHERE (каквото искаш)
 
Това е начина, за който аз се сетих .. поиграй си малко с него .. НЕ е тестван .. :)

PHP:
	 $cats = explode(",", $row['kategorii']); // реда с категориите дето викаш че са ти изброени със запетая
							 $where = ""; //празно
							foreach($cats AS $cat_id) // обхождане
							{ 
							  $where.=  " `cat_id`='".$car_id."' AND"; // сглобяване на ВХЕРЕ клауза за заявка
							}
							$where = substr($str,0, strlen($str)-4); // магане на последните 4 символа (АНД и 1 празно мясно)
							
							
							$q = mysql_query("Select * FROM cats WHERE ".$where); // slagame zawkata 
							echo "В категории: "; // иакрваш тука  нещо 
							while($r = mysql_fetch_array($q)) // обхождаш и тая заявка
							{
							 echo $r['cat_name'].", "; // и искарваш имената на категориите .. 
							}

:?: :?: :) :lol:
 
ще пробвам всички начини,мерси.
А и да не пускам друга тема.тоя фийд http://www.grupo.bg/xml/vsichkiOferti
има примерно повече снимки:

Код:
<pictures>
<pic>
http://www.grupo.bg/uploads/offers/homepage_b0803a106520118349e9d479e0655dc145db6d18.jpg
</pic>
<pic>
http://www.grupo.bg/uploads/offers/homepage_b0b4830665a7ad54212f02b08a9fe47c71af6719.jpg
</pic>
</pictures>
Как да взема пътя и на 2-те снимки?
В момента кода е това:
PHP:
$rss_url = 'http://www.grupo.bg/xml/vsichkiOferti';
$xml = simplexml_load_file($rss_url);
foreach($xml->offer as $item){
	$img = $item->pictures->pic;
?
 
Код:
$rss ="url";
 $url = file_get_contents($rss);
 preg_match_all("/\<pic\>(.*)\<\/pic\>/", $url, $matches);
// ako ne stane s towa gornoto probwai s twa ot dolo .. 
 // towa:
 //   preg_match_all("/<pic\>(.*)<\/pic>/", $url, $matches); 

 foreach($matches as $picture)
{
 echo $picture;
}
:shock: :D
 
PHP:
$rss_url = 'http://www.grupo.bg/xml/vsichkiOferti';
$xml = simplexml_load_file($rss_url);
foreach($xml->offer as $item){
        //само първата снимка
        $img = $item->pictures->pic;

        //всички снимки:
        foreach($item->pictures->pic as $pic){
             //$pic съдържа URL на всяка от картинките
        }
}
 

Back
Горе