• 11-04-2019, 10:55:35
    #1

    Tablom yukardaki şekildeki gibidir.
    Php de mysql'den çekilen aynı içeriği bir defa yazdırma istiyorum

    Edit: Çözümünü buldum arkadaşlar.. Başka birinin işine yararsa diye buraya bırakıyorum..

    $markalar= $db->query("select sutun from tablo", PDO::FETCH_ASSOC);
                        if ( $markalar->rowCount() ){
                            $dizi = array();
                             foreach( $markalar as $Roww){
                                 $parcala = explode(",",$Roww['etiketler']);
                             foreach($parcala as $parca){
                            $parca = rtrim(ltrim(mb_strtolower($parca, 'utf8')));
                            if(in_array($parca,$dizi)){
                                     continue;
                                 }
                                 array_push($dizi, $parca);
                             }
                            
                                
                        }
                        foreach ($dizi as $etiket){
                        echo $etiket." <br>";
                        }
                        }
  • 11-04-2019, 10:59:01
    #2
    Cevap php.net içerisinde
  • 11-04-2019, 11:03:00
    #3
    insert işlemini yapmadan önce gelen veriyi mevcut db'deki kayıtlarla karşılaştırın eşleşme sağlanırsa kayıt eklemesin.
  • 11-04-2019, 11:04:35
    #4
    Zeta adlı üyeden alıntı: mesajı görüntüle
    insert işlemini yapmadan önce gelen veriyi mevcut db'deki kayıtlarla karşılaştırın eşleşme sağlanırsa kayıt eklemesin.
    Hocam aynı içeriği dinamik sayfalarımda göstermek istiyorum ama sadece liste şeklinde yazdırırken aynı etiket var ise bidaha yazdırmak istemiyorum.
  • 11-04-2019, 11:07:33
    #5
    Onuraygun adlı üyeden alıntı: mesajı görüntüle
    Hocam aynı içeriği dinamik sayfalarımda göstermek istiyorum ama sadece liste şeklinde yazdırırken aynı etiket var ise bidaha yazdırmak istemiyorum.
    o zaman etiketleri ayrı bir tabloda tutup gene içerik eklerken etiket kayıt kontrolü yaparsınız eğer etiket var ise mevcut etiketin id'sini alırsınız eğer etiket yok ise etiketi kaydedip last id ile id'yi alip kaydedersiniz
  • 11-04-2019, 11:09:16
    #6
    Doğru anladıysam, SELECT DISTINCT sorgusunu araştır hocam
  • 11-04-2019, 11:11:57
    #7
    MelihCan adlı üyeden alıntı: mesajı görüntüle
    Doğru anladıysam, SELECT DISTINCT sorgusunu araştır hocam
    Hocam araştırdım fakat etiketler virgül (,) ile ayrıldığı için aynı olan etiketleri yinede yazmaya devam ediyor.
  • 11-04-2019, 11:24:27
    #8
    GROUP BY olması lazım sql sorgusu ama tam hatırlamıyorum
  • 11-04-2019, 11:27:34
    #9
    DISTINCT işini görmüyorsa nasıl yaptığınıda pek bilmemekle birlikte.

    array ve array_unique

    sorgularınıda bilmiyorum veri obje olarakmı dönüyor array olarakmı ? yinede şöyle bir şey yap
    array olarak dönmüyorsa gelen verileri önce dizi içerisine at
    sonrada array_unique ile benzersiz elemanları cek.

    arkadaşın dediği gibi group by da aynı işlemi yapıyor.