Hallo! Selamat Datang di Marketplace produk digital, Freelancer terbaik di indonesia (67467 Members, 783 Products, 5289 Topic, 12954 Comments)

Di marketplace totalnya muncul NaN?

Dibuat
Login Terakhir 11 Bulan lalu,
Telah Dilihat 1664 Kali
endro sutrisno Mengatakan : Sultan Account
  1. Assalamualaikum Warahmatullahi Wabarakatuh...
  2.  
  3. Alhamdulillah, jadi tahu penyebabnya.. mengapa total kadang NaN.
  4.  
  5. Penyebab umumnya karena gagal konversi dari string/teks ke angka, misal "ada variabel data angka tetapi diisi string kosong", jika maksudnya 0 mestinya tetep diisi ="0" jika diisi "" (Null) berpotensoi gagal konversi. Atau angka 0 (Nol) diisi O (oooo..), dll.
  6.  
  7. Contoh solusi (bisa lewat query pakai fungsi IF) atau cara misal:
  8.  
  9. awal: (ada potensi gagal menghitung harga_jual atau diskon)
  10.  
  11. $total = $this->db->query("SELECT sum(a.harga_jual-a.diskon)*a.jumlah) as total, sum(b.berat*a.jumlah) as total_berat FROM `rb_penjualan_detail` a JOIN rb_produk b ON a.id_produk=b.id_produk where a.id_penjualan='".$this->session->idp."'")->row_array();
  12.  
  13. $gtotal = $total['total'];
  14.  
  15. diubah:
  16.  
  17. $total = $this->db->query("SELECT sum(a.harga_jual*a.jumlah) as tharga,
  18. sum(a.diskon*a.jumlah) as tdisk, sum(b.berat*a.jumlah) as total_berat FROM `rb_penjualan_detail` a JOIN rb_produk b ON a.id_produk=b.id_produk where a.id_penjualan='".$this->session->idp."'")->row_array();
  19.  
  20. if (!$total['tdisk']) {$tdisk=0;} else {$tdisk=$total['tdisk'];}
  21. if (!$total['tharga']) {$tharga=0;} else {$tharga=$total['tharga'];}
  22.  
  23. $gtotal = $tharga - $tdisk;
  24.  
  25. NB. Alhamdulillah, sukses saya terapkan di -> application/views/phpmu-tigo/reseller/members/view_keranjang.php
  26.  
  27. Semoga bermanfaat.
  28.  
Ada 1 File Kiriman :
1. 127.jpg (384 KB)

Ada 1 Jawaban

PHPMU.COM Support
commented on 08 Jul 2020 10:49:15
Salah satu jawaban terbaik,..
  1. Assalamualaikum,.. iya benar, atau juga bisa dari application\controllers\Produk.php
  2. pada function kurirdata() pada baris : $berat= $this->input->get('berat');
  3. ubah menjadi : $berat=($this->input->get('berat') > 0 ? $this->input->get('berat') : 1);
Maaf, Untuk Memberikan Komentar Anda Harus Login !!!