• 10-10-2015, 17:02:29
    #1
    Çözüldü
  • 10-10-2015, 18:24:20
    #2
    Aynı tagleri kaydediyorsanız başta bir sorun var demektir, bunun dışında explode ile parçaladıklarınızı tek bir dizide toplayıp array_unique ile kullanabilirsiniz.
  • 10-10-2015, 21:26:31
    #3
    Met adlı üyeden alıntı: mesajı görüntüle
    Aynı tagleri kaydediyorsanız başta bir sorun var demektir, bunun dışında explode ile parçaladıklarınızı tek bir dizide toplayıp array_unique ile kullanabilirsiniz.
    Öncelikle evet baştan birşeyler yaptık. Ama artık çok fazla içerik var ve bu durumu düşünmek istemiyorum.
    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:26
    #4
    Anlatmak 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
    #5
    Met adlı üyeden alıntı: mesajı görüntüle
    Anlatmak 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.
    ş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 ?
       
      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:24
    #6
    Kullandığı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:54
    #7
    Met adlı üyeden alıntı: mesajı görüntüle
    Kullandığı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);
    Verdiğiniz kodu biraz değiştirerek yaptım hocam çok teşekkür ederim gösterdiğiniz yol için.