• 13-02-2023, 10:18:51
    #1
    Merhaba arkadaşlar serverside ile datatable içinde verileri çekmeye çalışıyorum. Yapmak istediğim 6 ve 7 numaralı veriyi tek satırda göstermek istiyorum fakat başarılı olamadım nasıl yapabilirim.

       $columns = array(
            array('db' => 'id', 'dt' => 0),
            array('db' => 'sepetTarih','dt' => 1 , "formatter" =>function($sepetTarih){
                return turkcetarih_formati('j F Y , l, H:i:s',$sepetTarih);
            }),
            array('db' => 'siparisNo','dt' => 2 , "formatter" =>function($siparisNo){
                return "<a href='siparis-detay?siparisNo={$siparisNo}' class='btn btn-primary'>MZR{$siparisNo}</a>";
            }),
            array('db' => 'firma','dt' => 3 , "formatter" =>function($firma){
                return mb_substr($firma,0,15, "utf-8");
            }),
    
            array('db' => 'urun_adi',  'dt' => 4),
            array('db' => 'urunRenk',  'dt' => 5),
    
            array('db' => 'urunAdet','dt' => 6 , "formatter" =>function($urunAdet) {
                return $urunAdet;
            }),    
    
            array('db' => 'birim','dt' => 7 , "formatter" =>function($birim){
                return $birim;
            }),
    
            array( 'db' => 'urunTarih',   'dt' => 8 ,
               'formatter' => function( $urunTarih, $row ) {
    
                if (empty($urunTarih)){  
                   return '';
               }
               else{
                   return turkcetarih_formati('j F Y',$urunTarih);
               }
           },
       ),
    
        );
  • 13-02-2023, 15:27:57
    #2
    ücretli destek sağlamaktayız
  • 18-06-2023, 10:50:26
    #3
    Merhaba senin bu yaşadığın soruna benzer bende baya uğraşmıştım ama şu anda çok stabil çalışan bir server side kodlaması yazmayı başardım sana data table daki örneğimi göstereyim aklında bir fikir oluşur.

    Aşşağıdaki kodlamada bir tablo yapısı var tabloda herbir hücreye malum 1 veri alınır ancak ben bir hücreye 2 veriyi yan yana yazdırma gereği duymuştum aşşağıdaki resimde daha net anlayabilirsin.

    bu konuda hala sorun yaşayacak olursan yazabilirsin kolay gelsin.
    "columns": [
    { "data": "musteri_adi" },
    { "data": "urun_adi" },
    {
    "data": function(row) {
    var depo = "";
    if (row.mevcut_depo === "") {
    depo = row.teslim_deposu;
    } else {
    depo = row.mevcut_depo;
    }
    var raf = row.mevcut_raf;
    return depo + ' <span style="float: right;">' + raf + '</span>';
    }
    },
    { "data": "urun_adet" },
    { "data": "teslim_tarih" }
    ]

    Muhtemelen bu şekilde bir düzenleme işine yarayacaktır.
    array(
    'db' => 'urunAdetBirim',
    'dt' => 6,
    'formatter' => function($row) {
    $urunAdet = $row['urunAdet'];
    $birim = $row['birim'];
    return $urunAdet . ' ' . $birim;
    }
    ),
    array_push($columns, array(
    'db' => 'urunAdetBirim',
    'dt' => 6,
    'formatter' => function($row) {
    $urunAdet = $row['urunAdet'];
    $birim = $row['birim'];
    return $urunAdet . ' ' . $birim;
    }
    ));
  • 18-06-2023, 13:04:54
    #4
    smtbcn adlı üyeden alıntı: mesajı görüntüle
    Merhaba senin bu yaşadığın soruna benzer bende baya uğraşmıştım ama şu anda çok stabil çalışan bir server side kodlaması yazmayı başardım sana data table daki örneğimi göstereyim aklında bir fikir oluşur.

    Aşşağıdaki kodlamada bir tablo yapısı var tabloda herbir hücreye malum 1 veri alınır ancak ben bir hücreye 2 veriyi yan yana yazdırma gereği duymuştum aşşağıdaki resimde daha net anlayabilirsin.

    bu konuda hala sorun yaşayacak olursan yazabilirsin kolay gelsin.
    "columns": [
    { "data": "musteri_adi" },
    { "data": "urun_adi" },
    {
    "data": function(row) {
    var depo = "";
    if (row.mevcut_depo === "") {
    depo = row.teslim_deposu;
    } else {
    depo = row.mevcut_depo;
    }
    var raf = row.mevcut_raf;
    return depo + ' <span style="float: right;">' + raf + '</span>';
    }
    },
    { "data": "urun_adet" },
    { "data": "teslim_tarih" }
    ]
    Muhtemelen bu şekilde bir düzenleme işine yarayacaktır.
    array(
    'db' => 'urunAdetBirim',
    'dt' => 6,
    'formatter' => function($row) {
    $urunAdet = $row['urunAdet'];
    $birim = $row['birim'];
    return $urunAdet . ' ' . $birim;
    }
    ),
    array_push($columns, array(
    'db' => 'urunAdetBirim',
    'dt' => 6,
    'formatter' => function($row) {
    $urunAdet = $row['urunAdet'];
    $birim = $row['birim'];
    return $urunAdet . ' ' . $birim;
    }
    ));
    Burada sizin yaptığınız sunucu taraflı işlem değil. Siz veriyi php üzerinden alıp javascript ile işliyorsunuz. Arkadaş javascript tarafında işlem yapmadan verileri doğrudan php üzerinden yapmak istiyormuş. Bu arada konunun açılmasının üzerinden çok zaman geçmiş, cevap vermeye gerek olmadığını düşünüyorum.
  • 18-06-2023, 14:25:36
    #5
    madlypixel adlı üyeden alıntı: mesajı görüntüle
    Burada sizin yaptığınız sunucu taraflı işlem değil. Siz veriyi php üzerinden alıp javascript ile işliyorsunuz. Arkadaş javascript tarafında işlem yapmadan verileri doğrudan php üzerinden yapmak istiyormuş. Bu arada konunun açılmasının üzerinden çok zaman geçmiş, cevap vermeye gerek olmadığını düşünüyorum.
    clasic-asp-server-side
    aslında server side işlemi bu kodlamayı yazdım buradan bakılabilir sadece js kısmını gördüğüm için paylaşma gereği duydum eski olsun dursun kenarda belki ilerde birisi faydalanır hayırlı pazarlar.
  • 18-06-2023, 14:29:36
    #6
    Anladım, yalnız dediğim gibi şayet arkadaş javascript tarafında müdahale etmek istemiyorsa bu arkadaşa yardımcı olmayacaktır.
    Normalde yazma gereği duymuyordum ancak bir arkadaşa lazım olabilir diye aşağıya örneği bıraktım
    array('db' => 'urunAdet','dt' => 6 , "formatter" =>function() use ($birim, $urunAdet){
             return $urunAdet . $birim;
    }),
  • 21-06-2023, 07:59:06
    #7
    serverside ile bir hücrede 2 tablo verisi gösterilecekse formatter kullanılarak bu işlem yapılabiliyor. Datatable her hücreyi bir rowa atıyor. Bu yüzden istenen hücre şöyle oluşturulup row ile erişmek mümkündür.


    
    [
    "db" => "sutunAdi",
    "dt" => 1,
    "formatter" => function ($d, $row) {
    return $d; // $d sutunAdi nı geri döndürür.
    }
    ],
    
    
    [
    "db" => "sutunAdi2",
    "dt" => 1,
    "formatter" => function ($d, $row) {
    return $row["sutunAdi"]; // $row şuan 2 tane alanı bize geri döndürür.
    }
    ],