• 03-05-2018, 13:31:24
    #1
    Merhaba arkadaşlar bir formum var içerisinde cechkbox lar var bu cechkbox kategorileri temsil ediyor kullanıcı seçim yaptığında kat_id olarak veritabanına array olarak ekliyor yani ekleme yapıldığında;


    KAYIT TABLOSU





    KATEGORİ TABLOSU




    Ben şimdi kayıt tablosunda bulunan kat_id stununda yer alan id numaralarına göre kategori tablosundaki kat_id lerle eşleşiyorsa kategori stununda bulunan ismi çıkartacak yani;

    kayıt tablosundaki 2. stunu ele alırsak 4 ve 2 numaralı kayıt girişi yapmış
    ekrana item 4 ve item 2 yazdırmam gerekiyor.

    Kayıt olayını hallettim listeleme olayı kaldı bir kaç yol denedim ama başaramadım yardımlarınızı bekliyorum.
  • 03-05-2018, 13:34:36
    #2
    Platin üye
       
            <?php
           
                $post = $db->query("SELECT * FROM post");
                foreach($post as $rows){
                    $explode = explode(",",$rows["post_category"]);
                   
                    if($have = in_array($get,$explode)){
                        $NewSql = $db->prepare("SELECT * FROM post WHERE post_category LIKE ?");
                        $NewSql->execute(array("%".$get."%"));
                        $NewRow = $NewSql->fetch();
                       
                        echo $NewRow["post_name"];
                    }
                }
           
            ?>
    Misal bu şekilde geleni aratıp bulabilirsiniz.
  • 03-05-2018, 13:48:22
    #3
    <?php
     
        $post = $db->query("SELECT * FROM post");
        foreach($post as $rows){
            $parcalar = explode(",",$rows["post_category"]);
            
            foreach($parcalar as $parca){
    
                $NewSql = $db->prepare("SELECT * FROM kategori_tablo_adi WHERE id = '".$parca."'");
                $NewSql->execute(array("%".$get."%"));
                $NewRow = $NewSql->fetch();
                
                echo $NewRow["kategori"]; // $NewRow["kategori"];  bu değişken o posta ait kategorinin adını veriyor 
            }
        }
     
    ?>
  • 04-05-2018, 12:18:55
    #4
    Arkadaşlar sorunun çözümü ilk önce implode ile verileri db ye giriyorsunuz daha sonra explode ile ayırarak foreach döngüsüne sokuyor kategoriler tablosundan yapmış olduğunuz explode ile verileri çekiyorsunuz.
    Yardımınız için teşekkürler.
    @SaidYildiz; yardımlarıyla sorunu bu şekilde çözdük umarım faydası olur.
    if($uye_id = $mysqlicon->insert_id){
    
    $sorgu = mysqli_query($mysqlicon, "SELECT * from deneme where id='$uye_id'");
    $listele = mysqli_fetch_array($sorgu);
    
    $liste=$listele["kat_id"];
    
    $explode = explode(",",$listele["kat_id"]);
    
    foreach($explode as $value){
    $sonsorgu = mysqli_query($mysqlicon, "SELECT kategoriler from kategoriler where id='$value'");
    $sonliste = mysqli_fetch_array($sonsorgu);
    
    echo $sonliste[0]."<br>";
    }
    }else{
    echo "hata";
    }