Selasa, 25 Oktober 2022

Membuat Query untuk menampilkan data dari beberapa field dengan IF

Membuat sebuah query pada proses menampilkan data dengan melibatkan beberapa field bisa dilakukan

langsung pada sql. sebagai contoh saya akan menampilkan data nama dan gelar sedangkan field

gelar depan, nama dan gelar belakang dibuatkan sendiri-sendiri.

untuk membuat query nya sebagai berikut :


SELECT IF(((a.gelar_depan!='-' AND a.gelar_depan!='') AND (a.gelar_belakang!='-' AND a.gelar_belakang!='')) , CONCAT(a.gelar_depan,'. ',a.B_03,', ',a.gelar_belakang), IF(((a.gelar_depan='-' OR a.gelar_depan='') AND (a.gelar_belakang!='-' AND a.gelar_belakang!='')) , CONCAT(a.nama,', ',a.gelar_belakang), IF(((a.gelar_depan!='-' AND a.gelar_depan!='') AND (a.gelar_belakang='-' OR a.gelar_belakang='')) , CONCAT(a.gelar_depan,'. ',a.nama),a.nama) ) ) AS nama, a.B_02B as nip, if(a.E_04 IS NOT NULL, CONCAT(b.PANJANG, ' (',b.NAMA,')'),'-') as gol_pangkatfrom pegawai as a LEFT JOIN golongan as b ON b.KODE=a.E_04


Pada proses diatas query tersebut menggunakan LEFT JOIN untuk relasi antar tabel.


Demikian semoga bermanfaat.


Rabu, 05 Oktober 2022

Bootstrap datepicker format setDate dd/mm/yyyy

 Saya harus mengatur tanggal di datepicker saya dalam format dd/mm/yyyy. Apa yang saya coba lakukan, dengan Javascript adalah ini:

  var year = 2014;
  var month = 5;
  var day = 10;

  var realDate = new Date(year, month - 1, day); // months are 0-based!

  $('#MainContent_txtDataConsegna').datepicker({ dateFormat: 'dd/mm/yyyy' }); // format to show
  $('#MainContent_txtDataConsegna').datepicker('setDate', realDate);

masalahnya adalah bahwa nilai di dalam datepicker saya selalu dalam format mm/hh/tttt. Dimana masalahnya??

Berikut definisi datepicker dan opsi datepicker:

   <div class="input-group date">
       <asp:TextBox runat="server" ID="txtDataOrdine" class="form-control" onBlur="CalcolaTotaliTestata('txtDataOrdine')"></asp:TextBox>
       <span class="input-group-addon"><i class="glyphicon glyphicon-calendar"></i>/span>
    </div>

<script type="text/javascript">
   $('.input-group.date').datepicker({
       todayBtn: "linked",
       language: "it",
       autoclose: true,
       todayHighlight: true,
       dateFormat: 'dd/mm/yyyy' 
   });
</script>  

Perubahan

dateFormat: 'dd/mm/yyyy'

untuk

format: 'dd/mm/yyyy'

Sepertinya Anda salah membaca beberapa dokumentasi!   

sedikit perubahan format 

format: "DD/MM/YYYY"   

Mengubah ke format: 'dd/mm/yyyy' tidak berhasil untuk saya, dan mengubahnya menjadi dateFormat: 'dd/mm/yyyy' ditambahkan tahun beberapa kali, Yang terbaik untuk saya adalah, 

dateFormat: 'dd/mm/yy'    

Ada yang membingungkan ketika Anda menggunakan pemilih data, untuk bootstrap datepicker Anda harus menggunakan kode berikut: -

$( ".datepicker" ).datepicker({
   format: 'yyyy-mm-dd'
});

dan untuk datepicker jquery kode berikut harus digunakan: -

$( ".datepicker" ).datepicker({
       dateFormat: 'dd-mm-yy'
    });

Jadi, Anda harus mengetahui pemilih tanggal mana yang Anda gunakan, yang pada akhirnya menyelesaikan masalah Anda, Semoga ini membantu Anda.    

Bagi saya, saya mendapatkan masalah yang sama dengan yang saya selesaikan seperti ini. dateFormat : 'dd/mm/yy'     

bagi saya itu adalah daterangepicker bekerja dengan ini:

     $('#Host1field').daterangepicker({
                   locale: {
                            format: 'DD/MM/YYYY'
                            }
                 });    

Anda dapat menggunakan kode ini untuk datepicker bootstrap:

Kode HTML:  

<p>Date: <input type="text" id="datepicker" class="datepicker"></p>

Javascript:

$( ".datepicker" ).datepicker({
   format: 'yyyy-mm-dd'
});    

format: "DD/MM/YYYY" harus menyelesaikan masalah Anda. Jika Anda memerlukan bantuan lebih lanjut mengenai format yang tersedia, silakan kunjungi http://momentjs.com/ yang digunakan oleh kontrol ini secara internal.

Saya menghadapi masalah di mana "format" ini berfungsi dengan baik pada mesin lokal tetapi ketika saya menggunakan aplikasi di server, tanggalnya tidak bertambah dan kontrolnya kosong. ketika saya berkomentar kode format, itu mulai berfungsi tetapi kemudian saya tidak memiliki format yang saya butuhkan. Saya memperbaiki masalah itu menggunakan entri globalisasi di web.config.

<system.web>
    <globalization
    requestEncoding="utf-8"
    responseEncoding="utf-8"
    culture="en-GB"
    uiCulture="en-GB" />    
</system.web>

Ini membantu memastikan bahwa lingkungan lokal & server memiliki budaya yang sama.   

Saya memiliki beberapa masalah dengan jquery mobile 1.4.5. Misalnya sepertinya menerima perubahan format hanya lewat dari "opsi". Dan ada beberapa masalah penyegaran dengan kalender menggunakan "opsi". Untuk semua yang memiliki masalah yang sama saya dapat menyarankan kode ini:

$( "#mydatepicker" ).datepicker( "option", "dateFormat", "dd/mm/yy" );
$( "#mydatepicker" ).datepicker( "setDate", new Date());    
$('.ui-datepicker-calendar').hide();   

"Seperti halnya plugin bootstrap sendiri, datepicker menyediakan api data yang dapat digunakan untuk membuat instance datepicker tanpa perlu javascript khusus ..."

Dokumentasi DatePicker Boostrap

Mungkin Anda ingin mengatur format tanpa instance DatePicker, untuk itu, Anda harus menambahkan properti data-date-format="DateFormat" ke tag Div utama, misalnya:

<div class="input-group date" data-provide="datepicker" data-date-format="yyyy-mm-dd">
    <div class="input-group-addon">
        <span class="glyphicon glyphicon-th"></span>
    </div>

    <input type="text" name="YourName" id="YourId" class="YourClass">
</div>


sumber : https://www.pengembangan-web-mp-pd.com/id/javascript/bootstrap-datepicker-format-setdate-ddmmyyyy/1045805768/

Setel tanggal agar awalnya kosong di bootstrap-datepicker

 Saya menggunakan bootstrap-datepicker di situs saya. Datepicker akan digunakan untuk mendefinisikan filter pencarian. Saya perlu nilai awal elemen input datepicker kosong, jadi tidak akan memperkenalkan filter tanggal untuk hasil pencarian. Ketika pengguna mengklik input teks yang ditautkan ke Datepicker, kotak popup Datepicker harus memilih hari pertama bulan berikutnya.

Masalah: Jika saya menetapkan tanggal awal (seperti yang ditunjukkan di bawah), input teks akan diisi dengan tanggal hari ini yang bukan yang saya inginkan. Namun jika saya tidak menetapkan tanggal awal, datepicker akan menampilkan tahun 1970-an. Apa yang harus saya lakukan?

Mirip dengan: Demo untuk jQueryUI Datepicker

Kode JS

var now = new Date();
var nextMonth = new Date();
nextMonth.setDate(1);
nextMonth.setMonth(now.getMonth() + 1);
var prettyDate = nextMonth.getMonth() + '/' + nextMonth.getDate() + '/' + nextMonth.getFullYear();
$('#listing_filter_available').val(prettyDate);
$('#listing_filter_available').datepicker();

Kode HTML

<input type="text" id="listing_filter_available" class="input-small" placeholder="Date Available" />

Upaya Gagal

Datepicker tidak muncul saat mengklik el input teks

$(function() {

var now = new Date();
var nextMonth = new Date();
nextMonth.setDate(1);
nextMonth.setMonth(now.getMonth() + 1);
var prettyDate = nextMonth.getMonth() + '/' + nextMonth.getDate() + '/' + nextMonth.getFullYear();
$('#listing_filter_available').val(''); // clear the date filter
$('#listing_filter_available').click( function() {
$('#listing_filter_available').val(prettyDate);
$('#listing_filter_available').datepicker();
});

});
  

Saya baru saja menemukan kasus penggunaan yang sangat mirip. Dengan beberapa tweak untuk bootstrap-datepicker.js, saya yakin saya telah membuatnya berfungsi. 

Anda harus mengedit skrip di dua tempat.

Untuk bidang tanggal, saya memeriksa untuk melihat apakah tanggal (tanggal ini) ditetapkan ke tanggal mulai Unix (. Mis. Tanggal kosong). Jika demikian, keluar dan biarkan bidang itu kosong.

(baris: 95 - kira-kira)

setValue: function () {
// EDIT - Don't setValue if date = unix date start
if (DPGlobal.formatDate(this.date, this.format) == DPGlobal.formatDate(new Date(1970, 1, 1, 0, 0, 0), this.format)) return false;
// END EDIT

Untuk kalender drop-down, saya juga memeriksa untuk melihat apakah tanggal (this.date) diatur ke tanggal mulai Unix. Jika demikian, atur tanggal ke hari ini. Saya melakukan ini sehingga ketika pengguna mengklik bidang tanggal, ini menampilkan bulan saat ini sebagai lawan dari Februari 1970.

(baris: 144 - kira-kira) 

isi: function () {

// EDIT - Set date in fill to today if date is "blank" (eg Unix start date)
var d = ((DPGlobal.formatDate(this.date, this.format) == DPGlobal.formatDate(new Date(1970, 1, 1, 0, 0, 0), this.format))) ? new Date() : new Date(this.viewDate),
// original code
// var d = new Date(this.viewDate),
// END EDIT

Saya percaya hanya itu yang perlu Anda lakukan. Saya baru saja menerapkan ini dalam solusi saya, jadi jika ada yang menemukan masalah atau memiliki saran yang lebih baik, saya akan senang mendengarnya.

Ada cara yang lebih mudah untuk melakukan ini! Untuk menetapkan nilai 

$('#listing_filter_available').datepicker();
$('#listing_filter_available').datepicker('setValue', nextMonth);

Untuk menetapkan nilai kosong

$('#listing_filter_available').datepicker();
$('#listing_filter_available').val('');  

Saya bekerja dengan bootstrap v3.1.1 dan 

$('#listing_filter_available').datepicker('setValue', nextMonth);

tidak bekerja untuk saya. 

Anda harus menggunakan

$('#listing_filter_available').datepicker('setDate', nextMonth);

untuk mengisi kontrol datepicker



sumber : 

https://www.pengembangan-web-mp-pd.com/id/javascript/setel-tanggal-agar-awalnya-kosong-di-bootstrap-datepicker/1066807054/