PHP Sitemap etiketler listelenirken aynı olanları yazdırmama
6
●343
- 10-10-2015, 21:26:31Öncelikle evet baştan birşeyler yaptık. Ama artık çok fazla içerik var ve bu durumu düşünmek istemiyorum.Met adlı üyeden alıntı: mesajı görüntüle
Diziye atayıp array_unique durumunu denedim ama hiçbir olumlu yanıt vermedi. Yaklaşık 40 bin tag düşüyor bi filtreden geçse inanılmaz rahatlıyacak. - 11-10-2015, 02:51:26Anlatmak istediğimi yapamamışsanız yardım almanızı tavsiye ediyorum, ayrıca yardım almışken kayıt esnasında küçük bir kod ile oluşturulacak yeni tag tablosuna tekil kayıt yapın, böylece sorunu kökten çözmüş olursunuz. İlk söylediğim işlem başarılı olacak olsada tüm tagleri çekmeniz gerektiği gerçeğini değiştirmiyor. 40k sisteme ciddi yük ve performans kaybı getiriyordur.
Ek olarak çekilen veriyi explode ile ayırıp array_unique kullanmak işe yaramaz, çekilenlerin tamamını explode ile ayırdıktan sonra tek diziye toplamanız gerekir. - 14-10-2015, 17:46:46şu şekilde tek dizide topluyorum, fakat array=>0 da hepsi toplanıyor.bu durumda array_unique'de bi işe yaramıyor.Tek tek bunları diziye nasıl toplatabilirim ?Met adlı üyeden alıntı: mesajı görüntüle
for($i=0; $i<$say; $i++){ $res_l = trim($parcala[$i]); $ext_etiket = etiket($res_l); $tag_ok = etiket($res_l); $icerik = $ext_etiket.$icerik; $dizi=array($icerik); } } $dizi = array_unique($dizi); print_r ($dizi); - 14-10-2015, 21:28:24Kullandığınız fonksiyonların ne işe yaradığını bilmiyorum ama temel mantık şudur;
// veritabanından çektikçe eskilerle yeniler birleştirilir
$tum_etiketler = array();
while ($string_etiketler = xxxxxx){
$etiketler = explode(",", $string_etiketler );
$tum_etiketler = array_merge($tum_etiketler, $etiketler);
}
$tekil_etiketler = array_unique($tum_etiketler); - 15-10-2015, 00:49:54Verdiğiniz kodu biraz değiştirerek yaptım hocam çok teşekkür ederim gösterdiğiniz yol için.Met adlı üyeden alıntı: mesajı görüntüle