Merhaba arkadaşlar. Opencart üzerinde markalarda kategori göstermeye çalışıyorum.
İlk olarak manufacturer_id' a göre ürünleri sıralayıp product_id değerlerini aldım.
$manufacturer_id=$_GET['manufacturer_id'];
include("baglan.php");
$sonuc = mysql_query("select product_id,manufacturer_id from oc_product where manufacturer_id='$manufacturer_id'");
while($oku = mysql_fetch_assoc($sonuc))
{
$p_id = $oku["product_id"];Karşıma o markaya ait olan ürünlerin ID değerleri çıktı.
Daha sonra product_id verilerine göre category_id verilerini çektim.
$manufacturer_id=$_GET['manufacturer_id'];
include("baglan.php");
$sonuc = mysql_query("select product_id,manufacturer_id from oc_product where manufacturer_id='$manufacturer_id'");
while($oku = mysql_fetch_assoc($sonuc))
{
$p_id = $oku["product_id"];
$sonuc2 = mysql_query("select product_id,category_id from oc_product_to_category where product_id='$p_id'");
$category_id = array();
while($oku2 = mysql_fetch_array($sonuc2))
{
$c_id = $oku2['category_id'];
$p2_id = $oku2['product_id'];
echo "$p2_id - $c_id <br>";
}
}
Her üründe ortalama 3 tane kategori olduğu için hepsini çekti.
Benim yapmak istediğim bir ürün id verisinde çıkan kategori numaralarından en küçüğü almak ve o veri daha önce varsa bir daha yazdırmamak.
sonuc2 kısmına "group by product_id" dediğimde
yani
$sonuc2 = mysql_query("select product_id,category_id from oc_product_to_category where product_id='$p_id' group by product_id"); bu şekilde yaptığımda product_id içerisinde yer alan ilk veri çıkıyor karşıma.
Burada istediğim ilk veri geliyor ama hepsinde o veriyi ayrı ayrı yazıyor. Yapmak istediğim veriye ait olan kategoriyi bir defa yazdırmak.
Mesela 70 - 61 içerisinde 61 olduktan sonra onu bir kere yazdırmak diğerlerinde 61 varsa yazdırmamak.
Biraz karışık oldu ama yardımcı olursanız çok sevinirim.