$SQL1 = mysql_query("SELECT etiketler from videolar ORDER BY id ASC LIMIT 0,10");
while ($yaz = mysql_fetch_array($SQL1)){
$parcala = explode(', ', $yaz["etiketler"]);
$result = array_unique($parcala);
$say = count($parcala);
$etiketleme = array();
for($i=0; $i<$say; $i++){
$etiketle = trim($result[$i]);
$tr1=array('/ç/','/Ç/','/ı/','/İ/','/ğ/','/Ğ/','/ö/','/Ö/','/ş/','/Ş/','/ü/','/Ü/','/ /');
$tr2=array('c','C','i','i','g','G','o','O','s','S','u','U','-');
$etiketle = preg_replace($tr1,$tr2,$etiketle);
if(!in_array($etiketle,$etiketleme)){
echo = $etiketle;
$etiketleme[] = $etiketle;
}
}
}
unset($etiketleme);Database yapısı yanlış kurulduğu için performans açısından büyük kaynak harcayarak tüm satırları çekerek yapabilirsiniz. Bunun yerine ekstra bir etiketler tablosu oluşturup etiketler eklenirken bu tabloda olmayan yeni etiketin de eklenmesini sağlayabilirsiniz. Ya da en temizi etiketler tablosu ve kayıt tablosu ayrıca arada bir bağlantı tablosu ile çalışmak esnekliği arttırır.
Malesef şu noktada veritabanı düzeninde değişikliğe gidemem. çok fazla değişiklik yapmam gerekir bunun için. fakat bir ara optimizasyon yapmayı planlıyorum.
Verdiğiniz kodları denedim fakat şonuç yine tekrarlıyor aynı ifadeleri.
veritabanı örneğim: http://pastebin.com/ziTM5xAk burdaki gibi
The Walking Dead HD izle kelimesinden başka video id lerde de var. umarım yardımcı olabilirsiniz günlerdir uğraşıyorum.
Veritabanı yapısından ss: http://p1304.hizliresim.com/18/t/mfz2r.png Birde aşağıdaki ifade türkçe karakter dönüşümü yapmıyor acaba neden?
$tr1=array('/ç/','/Ç/','/ı/','/İ/','/ğ/','/Ğ/','/ö/','/Ö/','/ş/','/Ş/','/ü/','/Ü/','/ /');
$tr2=array('c','C','i','i','g','G','o','O','s','S','u','U','-');
$etiketle = preg_replace($tr1,$tr2,$etiketle);