• 18-05-2019, 14:23:46
    #1


    Öncelikle herkese iyi forumlar Etiketler adında bir inputum var buraya virgül ile ayrılarak girilmiş değerleri veri tabına satır satır kaydetmek istiyorum bunu nasıl yapabilirim.

    ÖRNEK
    Input Değer: etiket1, etiket2, etiket3

    Input Değer yazan alanı etiket inputu olarak düşünelim amacım veri tabanına

    Tablo adı:
    etiket_isim
    etiket1
    -----------
    etiket2
    ------------
    etiket3

    Olarak kaydetmek
  • 18-05-2019, 14:25:57
    #2
    Misafir
    Explode komutu ile istediğiniz karakteri kullanarak metni diziye dönüştürebilirsiniz. Sonrada bu diziyi foreach ile okuyup veritabanına kayıt edebilirsiniz. Yada implode ile tek satır bir sql cümleciği oluşturacak şekilde diziyi bir sql cümlesine dönüştürebilirsiniz.
  • 18-05-2019, 14:31:47
    #3
    Misafir adlı üyeden alıntı: mesajı görüntüle
    Explode komutu ile istediğiniz karakteri kullanarak metni diziye dönüştürebilirsiniz. Sonrada bu diziyi foreach ile okuyup veritabanına kayıt edebilirsiniz. Yada implode ile tek satır bir sql cümleciği oluşturacak şekilde diziyi bir sql cümlesine dönüştürebilirsiniz.
    codeigniter kullanıyorum projede veri zaten dizi olarak geliyor lakin for içine veriyi alınca değerleri tablo ismi gibi algılamaya başlıyor.

    Değer Array ( [etiket] => rehber,asd,zxc ) olarak geliyor
  • 18-05-2019, 14:50:04
    #4
    codeignter kullanmadım daha önceden fakat saf php ile şu şekilde yapabilirsin,

    $tags = "etiket1,etiket2,etiket3";
    $arrayTags = explode(",", $tags);
    foreach($arrayTags as $tag) {
        // insert işlemi
    }
  • 18-05-2019, 15:09:54
    #5
    Misafir
    meltar95 adlı üyeden alıntı: mesajı görüntüle
    codeigniter kullanıyorum projede veri zaten dizi olarak geliyor lakin for içine veriyi alınca değerleri tablo ismi gibi algılamaya başlıyor.

    Değer Array ( [etiket] => rehber,asd,zxc ) olarak geliyor
    foreach komutunun birden çok kullanım şekli var,
    Size sadece değer kısımları lazımsa yukarıdaki arkadaşın kullandığı gibi değil şu şekilde kullanmanız gerekir,
    foreach($DIZI_ADI as $key => $value){
    echo $value;
    }
    böylece sizin istediğiniz değerler key kısmında tutuluyorsa sadece o kısmı value kısmında tutuluyorsa sadece o kısmı veritabanına kayıt edebilirsiniz.
    --------------------------
    Ayrıca size değişken dizi olarak geliyorsa şu şekilde düzenleyin
    $dizi = explode(",",$_POST["etiket"]);
    veya size gelen değişken direk bir dizi ise o değişkeni parçalayıp dizi halinden parçalanmış yeni bir değişkene yeni bir dizi olarak alın
    $dizi = explode(",",$GELEN_DEGISKEN["etiket"]);
    veya
    $dizi = explode(",",$GELEN_DEGISKEN[0]);
    bu işlemlerden biri $dizi değişkeni içine istediğiniz şekilde parçalayacaktır, sonrasında foreach ile istediğiniz işlemi yapabilirsiniz
    --------------------------
    Codeigniter da sonuçta PHP, değerin geliş şekline göre istediğiniz formata çevirip işlemi yapabilrisiniz.
  • 18-05-2019, 15:24:15
    #6
    $deger1 = implode(",", $gelen_deger);
    $deger2 = explode(",", $deger1 );
    
    foreach($deger2 as $deger3)
    {
    
    }
    Yukarıdaki şekilde çözdüm sorunumu teşekkürler