Merhabalar PHP PDO kullanarak verileri ekrana yazdırmak için VeriGetir isimli bir mysql fonksiyon kullanıyorum ve veri almak için şöyle bir yapı kullanıyorum:
$etiketurunler=$VT->VeriGetir("urunler", "WHERE durum=? AND (anahtar LIKE ?)", array(1,'%'.$etiket.'%'), "ORDER BY sirano ASC");SELECT DISTINICT ya da group by gibi bir özellik kullanarak verileri gruplayarak almak istiyorum. Mesela urunler tablosu içindeki kategori satırındaki verilere göre. kategori satırında 1,2,2,3,4,3,4,4,4,5 gibi veriler var. Ben bunları 1,2,3,4,5 şeklinde gruplayarak almak istiyorum nasıl alabilirim acaba. Bunun için yeni bir fonksiyon yazmaya gerek var mı?
Eğer urun_id = 1, kategori_id = 1,2,3,4 gibi tutuluyorsa veritabanında, o yöntem yanlış. Urun_kategori adında bir ortak tablo oluşturup birbiri ile ilişkisini orada kurmalısınız. Mesela diğer türlü ürün listeliyorsunuz diyelim; sütundaki virgülleri explode edip tek tek kontrol etmeniz gerek.
Doğru örneğin görselini bıraktım. Bu yapıyı kurduktan sonra istediğiniz GROUP BY olsun