Hallo! Selamat Datang di Marketplace produk digital, Freelancer terbaik di indonesia (67507 Members, 783 Products, 5291 Topic, 12956 Comments)

MengUrutkan Total Nilai Tertinggi ke Terendah

Dibuat
Login Terakhir 4 Bulan lalu,
Telah Dilihat 2505 Kali
pramadians Mengatakan : Sultan Account
  1. Assalamualaikum Warahmatullahi Wabarakatuh...
  2.  
  3. Saya mempunyai beberapa inputan yang memiliki total nilai. Saya ingin mengurutkan total nilai tersebut dari yang tertinggi ke yang TerRendah. Adapun Contoh gambar saya upload di lampiran.
  4.  
  5. Adapun script yang sejauh ini saya tulis adalah sebagai berikut :
  6.  
  7. #View#
  8.  
  9. <table class="table table-striped">
  10. <thead>
  11. <tr>
  12. <th data-field="" data-checkbox="true" >No</th>
  13. <th data-field="" data-sortable="true">NIK Penduduk</th>
  14. <th data-field="" data-sortable="true">Nama Mahasiswa</th>
  15. <th data-field="" data-sortable="true">Tempat Lahir</th>
  16. <th data-field="" data-sortable="true">Universitas</th>
  17. <th data-field="" data-sortable="true">Kecamatan</th>
  18. <th data-field="" data-sortable="true">Nagari</th>
  19. <th data-field="" data-sortable="true">Parameter</th>
  20. <th data-field="" data-sortable="true">Total Nilai</th>
  21.  
  22. </tr>
  23. </thead>
  24. <tbody>
  25. <?php $no=0;
  26. $total_arr = array();
  27. foreach ($tb_laporan -> result() as $rows) {
  28. $id=$rows->id_api_penduduk;
  29. $cek = $this->aktifrecord->penduduk_all($id);
  30.  
  31.  
  32.  
  33. foreach ($cek -> result() as $rowx) {
  34. $no++;
  35.  
  36. //JML ANGGOTA KK
  37. if($rows->jml_anggota_kk <5){
  38. $b_anggota='2';
  39. }elseif($rows->jml_anggota_kk ==5 || $rows->jml_anggota_kk ==6){
  40. $b_anggota='4';
  41. }else{
  42. $b_anggota='6';
  43. }
  44.  
  45. //DTKS
  46. if($rows->dtks =='Ya'){
  47. $b_dtks='25';
  48. }else{
  49. $b_dtks='0';
  50. }
  51.  
  52. //IPK
  53. if($rows->ipk >='3' && $rows->ipk <='3.05'){
  54. $b_ipk='1';
  55. }elseif($rows->ipk >='3.06' && $rows->ipk <='3.1'){
  56. $b_ipk='2';
  57. }elseif($rows->ipk >='3.11' && $rows->ipk <='3.15'){
  58. $b_ipk='3';
  59. }elseif($rows->ipk >='3.16' && $rows->ipk <='3.2'){
  60. $b_ipk='4';
  61. }elseif($rows->ipk >='3.21' && $rows->ipk <='3.25'){
  62. $b_ipk='5';
  63. }elseif($rows->ipk >='3.26' && $rows->ipk <='3.3'){
  64. $b_ipk='6';
  65. }elseif($rows->ipk >='3.31' && $rows->ipk <='3.35'){
  66. $b_ipk='7';
  67. }elseif($rows->ipk >='3.36' && $rows->ipk <='3.4'){
  68. $b_ipk='8';
  69. }elseif($rows->ipk >='3.41' && $rows->ipk <='3.45'){
  70. $b_ipk='9';
  71. }elseif($rows->ipk >='3.46' && $rows->ipk <='3.5'){
  72. $b_ipk='10';
  73. }elseif($rows->ipk >='3.51' && $rows->ipk <='3.55'){
  74. $b_ipk='11';
  75. }elseif($rows->ipk >='3.56' && $rows->ipk <='3.6'){
  76. $b_ipk='12';
  77. }elseif($rows->ipk >='3.61' && $rows->ipk <='3.65'){
  78. $b_ipk='13';
  79. }elseif($rows->ipk >='3.66' && $rows->ipk <='3.7'){
  80. $b_ipk='14';
  81. }elseif($rows->ipk >='3.71' && $rows->ipk <='3.75'){
  82. $b_ipk='15';
  83. }elseif($rows->ipk >='3.76' && $rows->ipk <='3.8'){
  84. $b_ipk='16';
  85. }elseif($rows->ipk >='3.81' && $rows->ipk <='3.85'){
  86. $b_ipk='17';
  87. }elseif($rows->ipk >='3.86' && $rows->ipk <='3.9'){
  88. $b_ipk='18';
  89. }elseif($rows->ipk >='3.91' && $rows->ipk <='3.95'){
  90. $b_ipk='19';
  91. }else{
  92. $b_ipk='20';
  93. }
  94.  
  95. //Bnyk Prestasi
  96. if($rows->byk_prestasi >2){
  97. $b_prestasi='4';
  98. }elseif($rows->byk_prestasi ==2){
  99. $b_prestasi='2';
  100. }elseif($rows->byk_prestasi ==1){
  101. $b_prestasi='1';
  102. }else{
  103. $b_prestasi='0';
  104. }
  105.  
  106. //Akreditasi Perguruan tinggi
  107. if($rows->id_akt =='1'){
  108. $b_mutu='25';
  109. }elseif($rows->id_akt =='2'){
  110. $b_mutu='15';
  111. }else{
  112. $b_mutu='0';
  113. }
  114.  
  115. //Nilai Hafiz Qur'an
  116. if($rows->id_hafiz ==6){
  117. $b_hafiz='6';
  118. }elseif($rows->id_hafiz ==5){
  119. $b_hafiz='4';
  120. }elseif($rows->id_hafiz ==4){
  121. $b_hafiz='3';
  122. }elseif($rows->id_hafiz ==3){
  123. $b_hafiz='2';
  124. }elseif($rows->id_hafiz ==2){
  125. $b_hafiz='1';
  126. }elseif($rows->id_hafiz ==1){
  127. $b_hafiz='0';
  128. }else{
  129. $b_prestasi='0';
  130. }
  131.  
  132. //Kendaraan
  133. if($rows->id_kendaraan =='2'){
  134. $b_kendaraan='5';
  135. }else{
  136. $b_kendaraan='0';
  137. }
  138.  
  139. //Rumah
  140. if($rows->id_rumah =='2'){
  141. $b_rumah='5';
  142. }else{
  143. $b_rumah='0';
  144. }
  145.  
  146. // Perguruan Tinggi
  147. if($rows->id_pt ==99){
  148. $b_pt='1';
  149. $n_pt=$rows->pt_lainnya;
  150. }elseif($rows->id_pt ==1){
  151. $b_pt='4';
  152. }elseif($rows->id_pt ==2){
  153. $b_pt='4';
  154. }elseif($rows->id_pt ==3){
  155. $b_pt='4';
  156. }elseif($rows->id_pt ==4){
  157. $b_pt='4';
  158. }elseif($rows->id_pt ==5){
  159. $b_pt='4';
  160. }elseif($rows->id_pt ==6){
  161. $b_pt='3';
  162. }elseif($rows->id_pt ==7){
  163. $b_pt='3';
  164. }else{
  165. $b_prestasi='0';
  166. }
  167. ?>
  168.  
  169.  
  170. <tr>
  171.  
  172. <td class="center"><?php echo $no?></td>
  173. <td class="center"><?php echo $rowx->nik ?></td>
  174. <td class="center"><?php echo $rowx->nama ?></td>
  175. <td class="center"><?php echo $rowx->tmplahir.' / '.$rowx->tgllahir ?></td>
  176. <td class="center"><?php if ($rows->id_pt=='99'){$nmpt=$rows->pt_lainnya;}else{$nmpt=$rows->pt;} echo $nmpt?></td>
  177. <td class="center"><?php echo $rowx->nm_kec ?></td>
  178. <td class="center"><?php echo $rowx->nm_nagari ?></td>
  179.  
  180. <td class="center">
  181. <li data-sortable ="true">Nilai Bobot DTKS   : <b><?php echo $b_dtks?></b></li>
  182. <li data-sortable ="true">Nilai Bobot Rumah   : <b><?php echo $b_rumah?></b></li>
  183. <li data-sortable ="true">Nilai Bobot Kendaraan   : <b><?php echo $b_kendaraan?></b></li>
  184. <li data-sortable ="true">Nilai Bobot Anggota Keluarga   : <b><?php echo $b_anggota?></b></li>
  185. <li data-sortable ="true">Nilai Bobot Prestasi   : <b><?php echo $b_prestasi?></b></li>
  186. <li data-sortable ="true">Nilai Bobot IPK   : <b><?php echo $b_ipk?></b></li>
  187. <li data-sortable ="true">Nilai Bobot Perguruan Tinggi   : <b><?php echo $b_pt?></b></li>
  188. <li data-sortable ="true">Nilai Bobot Akreditasi   : <b><?php echo $b_mutu?></b></li>
  189. <li data-sortable ="true">Nilai Bobot Hafiz   : <b><?php echo $b_hafiz?></b></li>
  190. </td>
  191.  
  192. <td class="center" align="center" bgcolor="#FFFF00"><b><?php $total = $b_rumah + $b_kendaraan +
  193. $b_anggota + $b_dtks + $b_prestasi + $b_ipk + $b_mutu + $b_hafiz + $b_pt;
  194. $total_arr[$b_pt] = $total;
  195. echo $total;?></b>
  196. </td>
  197.  
  198. </tr>
  199.  
  200. <?php
  201. } }
  202. ?>
  203. </tbody>
  204.  
  205. </table><hr>
  206.  
  207. #Controller#
  208.  
  209. <?php
  210. class Pendaftaran extends CI_Controller
  211. {
  212.  
  213. function __construct()
  214. {
  215. parent::__construct();
  216. if($this->session->userdata('masuk') !=TRUE)
  217. {
  218. $url=base_url('administrator');
  219. redirect($url);
  220. };
  221. $this->load->model('Aktifrecord','aktifrecord');
  222. $this->load->model('Aktifrecord1','aktifrecord1');
  223. }
  224.  
  225. public function nik($id)
  226. {
  227.  
  228. $data['cek'] = $this->aktifrecord->mhs($id);
  229. $data['lap'] = $this->aktifrecord1->lap($id);
  230.  
  231.  
  232. $this->load->view('admin/v_pendaftaran',$data);
  233. }
  234.  
  235. function index()
  236. {
  237. $x['tb_laporan']=$this->aktifrecord1->get_all_laporan();
  238. $this->load->view('admin/v_admin',$x);
  239. }
  240.  
  241. }
  242.  
  243.  
  244. #Model#
  245.  
  246. function get_all_laporan(){
  247. $hsl=$this->db->query("SELECT * FROM tb_laporan l LEFT JOIN tb_pt pt ON l.id_pt=pt.id_pt ORDER BY l.id_laporan DESC");
  248. return $hsl;
  249. }
  250.  
  251. Terimakasih....
Ada 1 File Kiriman :
1. laporan_bea.jpg (101 KB)

Ada 11 Jawaban

PHPMU.COM Support
commented on 27 Agu 2020 07:38:34
  1. Assalamualaikum,.. Agar lebih mudah dalam mengurutkan sebaiknya pake datatable saja,
  2. nanti bisa di set config datatable menjadi :
  3. <script>
  4. $('#datatable').DataTable({
  5. "order": [[ 8, "asc" ]]
  6. });
  7. </script>
pramadians
commented on 27 Agu 2020 09:19:29
  1. Assalamualaikum,..
  2.  
  3. Sudah saya lakukan dengan menggunakan datatable pak,, namun hasilnya tidak ada perubahan. Adapun script yang saya tambahkan sbb :
  4.  
  5. <head>
  6. <link rel="stylesheet" href="<?php echo base_url() ?>/assets/datatables/css/jquery.dataTables.min.css">
  7. <link rel="stylesheet" href="<?php echo base_url() ?>/assets/datatables/css/rowReorder.dataTables.min.css">
  8. <link rel="stylesheet" href="<?php echo base_url() ?>/assets/datatables/css/responsive.dataTables.min.css">
  9. </head>
  10.  
  11. <table id="laporan" class="table table-striped" cellspacing="0" width="100%">
  12. .................................................................
  13. .................................................................
  14. <script src="<?php echo base_url() ?>/assets/datatables/js/jquery-1.11.1.min.js"></script>
  15. <script src="<?php echo base_url() ?>/assets/datatables/js/jquery.dataTables.min.js"></script>
  16. <script src="<?php echo base_url() ?>/assets/datatables/js/dataTables.rowReorder.min.js"></script>
  17. <script src="<?php echo base_url() ?>/assets/datatables/js/dataTables.responsive.min.js"></script>
  18.  
  19. <script type="text/javascript">
  20. $(document).ready(function() {
  21. var table = $('#laporan').DataTable( {
  22. rowReorder: {
  23. selector: 'td:nth-child(2)'
  24. },
  25. responsive: true
  26. } );
  27. } );
  28. </script>
  29.  
pramadians
commented on 27 Agu 2020 09:31:50
  1. Assalamualaikum,...
  2.  
  3. Setelah menggunakan datatable, nilai2 yang ada tidak terurut secara otomatis namun bisa dilakukan pengurutan secara manual. Kendalanya ketika di cetak/print, data2 tersebut kembali seperti semula. Terimaksih
Hardiansyah
commented on 27 Agu 2020 14:47:23
  1. Assalamualaikum,.. kalau sy sarankan sih data-data nilainya di taruh saja di dalam database, jd scriptnya berlaku pada saat menyimpan dan mengedit per data, jadinya lebih mudah untuk di urutkan
pramadians
commented on 27 Agu 2020 15:39:41
  1. Assalamualaikum,..
  2. Terimakasih sebelumnya atas sarannya pak Hardiansyah. Untuk data nilai-nilai parameternya sudah saya taruh di dalam database (tb_laporan), untuk total nilai, saya dapatkan dari proses script yg saya taruh di view. dengan kata lain total nilai tidak terdapat di dalam field tb_laporan. jadi yg jadi permasalahan saya saat ini adalah bagaimana mengurutkan total nilai dari yang tertinggi ke total nilai yang terendah. Terimakasih
Hardiansyah
commented on 27 Agu 2020 16:34:13
  1. Assalamualaikum,.. yg saya maksud adalah nilai2 yg ingin di jadikan penjumlahan total nilai, misal untuk total nilai diperoleh dari nilai a, b dan c... nilai a,b dan c ini dimasukkan saja ke database (contoh jadi kolom_a, kolom_b, kolom_c) dimana pengolahannya pada saat menambah data baru atau setelah mengedit data2 untuk memperoleh nilai2 tersebut, ketika sdh ada di database maka bisa di urutkan dengan cara SELECT (kolom_a+kolom_b+kolom_c) as total_niai FROM nama_tabel ORDER BY total_nilai DESC
pramadians
commented on 31 Agu 2020 09:28:19
  1. Assalamualaikum,..
  2.  
  3. Untuk nilai2 yang ingin dijadikan penjumlahan tsb yang saya ambil hanya id nya saja pak hardiansyah. Salah satu contoh parameternya saya punya tb_universitas (id, nama_universitas, bobot nilai). Setiap user yang memilih universitas akan di simpan ID nya saja di tb_laporan. Untuk proses penjumlahan seluruh parameter, saya lakukan proses nya di view laporan. Adapun script view, model dan controllernya telah saya tulis di pertanyaan saya di awal. Terimakasih.
pramadians
commented on 01 Sep 2020 13:37:42
  1. Assalamualaikum,..
  2.  
  3. phpmu.com support?????
Hardiansyah
commented on 01 Sep 2020 18:59:54
Salah satu jawaban terbaik,..
  1. Assalamualaikum,.. CMIIW, tidak bisa mas kalau mau mengurutkan data jika proses mendapatkan total nilai diletakkan di view, ada 2 jalan keluar, pertama mengolah/mendapatkan total nilai di query (tp ini akan panjang sekali krn parameter yg diberikan seperti contoh terlalu panjang, yg proses nilai2 yg di inginkan untuk mendapatkan total nilai disimpan pada database (yaitu pd saat query menyimpan 1 data (orang) dan pada saat mengedit data tersebut, cara kedua sy rasa lebih bagus krn pengolahan data akan lebih ringan dibandingkan script nya di letakkan di view (apalagi kalau data banyak), itu saja sih mudah2an di mengerti maksud saya
PHPMU.COM Support
commented on 02 Sep 2020 20:42:13
Salah satu jawaban terbaik,..
  1. Assalamualaikum,.. saran saya sama dengan yang disampaikan oleh Bpk/Ibk. Hardiansyah diatas, sebaiknya "HASIL AKHIR" dari pengolahan disimpan ke database agar lebih mudah mengurutkannya.
pramadians
commented on 03 Sep 2020 09:27:27
Salah satu jawaban terbaik,..
  1. Assalamualaikum,..
  2.  
  3. Terimakasih sarannya pak Hardiasyah dan phpmu.com support
Maaf, Untuk Memberikan Komentar Anda Harus Login !!!