Menghitung data didalam variabel yang sama codeigniter

saya ingin menjumlahkan $normalisasi , $normalisasi` adalah variabel yang isinya adalah angka angka, dimana $normalisasi ini adalah angka - angka dari field isi_kriteria tabel tb_pemeliharaan.

table tb_pemeliharaan:

MariaDB+-----------------+--------------+-------------+--------------+
    -> | id_pemeliharaan | id_kendaraan | id_kriteria | isi_kriteria |
    -> +-----------------+--------------+-------------+--------------+
    -> |              65 |            9 |           1 |        12000 |
    -> |              66 |            9 |           2 |            3 |
    -> |              67 |            9 |           5 |            5 |
    -> |              68 |            9 |           6 |            3 |
    -> |              69 |            9 |           7 |            5 |
    -> |              70 |           10 |           1 |       280000 |
    -> |              71 |           10 |           2 |            6 |
    -> |              72 |           10 |           5 |            2 |
    -> |              73 |           10 |           6 |            5 |
    -> |              74 |           10 |           7 |            7 |
    -> |              75 |           11 |           1 |       235000 |
    -> |              76 |           11 |           2 |            7 |
    -> |              77 |           11 |           5 |            2 |
    -> |              78 |           11 |           6 |            8 |
    -> |              79 |           11 |           7 |            5 |
    -> |              79 |           11 |           7 |            5 |

table tb_kriteria:

+-------------+----------------+-------------------+-------+-------+
| id_kriteria | nama_kriteria  | keterangan        | sifat | bobot |
+-------------+----------------+-------------------+-------+-------+
|           1 | Km Penggunaan  | Berapa jarakk     |     1 | 0.2   |
|           2 | Item Kerusakan | jumlah item       |     0 | 0.2   |
|           5 | Kondisi Ban    | ban               |     0 | 0.2   |
|           6 | Kondisi Cat    | cat nya bagus ga  |     1 | 0.1   |
|           7 | Tipe           | matic atau manual |     1 | 0.3   |
+-------------+----------------+-------------------+-------+-------+

my model:

public function getDataSifat()
    {
        $this->db->select('DISTINCT(tb_pemeliharaan.id_kendaraan), nama, platno');
        $this->db->from('tb_pemeliharaan');
        $this->db->join('tb_kendaraan', 'tb_kendaraan.id_kendaraan = tb_pemeliharaan.id_kendaraan');
        $query = $this->db->get();
        $data = array();
        $index = 0;
        if($query->num_rows() > 0)
    	{
            foreach($query->result() as $kr_key => $x){
                $data[$kr_key] = array(
                    'id_kendaraan'   => $x->id_kendaraan,
                    'nama'           => $x->nama,
                    'platno'         => $x->platno,
                );
                $id_kendaraann = $this->db->where('id_kendaraan', $x->id_kendaraan);
                $this->db->select('*');
                $this->db->from('tb_pemeliharaan');
                $query = $this->db->get();
                $id_kendaraann = $query->result();
                foreach($id_kendaraann as $z){
                    $data[$kr_key]['sub'][] = array(
                        'id_kendaraan'      => $z->id_kendaraan,
                        'id_kriteria'       => $z->id_kriteria,
                        'isi_kriteria'      => $z->isi_kriteria
                    );
                    $this->db->select_max('tb_pemeliharaan.isi_kriteria', 'max_value');
                    $this->db->select_min('tb_pemeliharaan.isi_kriteria', 'min_value');
                    $this->db->select('tb_kriteria.id_kriteria, nama_kriteria, sifat, bobot');
                    $this->db->from('tb_pemeliharaan');
                    $this->db->where('tb_kriteria.id_kriteria',$z->id_kriteria);
                    $this->db->join('tb_kriteria', 'tb_kriteria.id_kriteria = tb_pemeliharaan.id_kriteria');
                    $query = $this->db->get();
                    $kriteria = $query->result();
                        foreach($kriteria as $k){
                            // 0 cost, 1 benefit
                            if($k->sifat == "1" ){
                           $hasil = $z->isi_kriteria / $k->max_value;
                            }
                            else if ($k->sifat == "0" ) {
                           $hasil = $k->min_value / $z->isi_kriteria;
                            }
                            $data[$kr_key]['sub']['dari'][] = array(
                                'isi'      => $hasil
                            );

                            $normalisasi = $hasil * $k->bobot;
                            $data[$kr_key]['sub']['dikali'][] = array(
                                'normalisasi'      => $normalisasi
                            );
                            $total = 0;
                            $total += $normalisasi; // disini saya ingin menjumlahkan isi dari variabel normalisasi, variabel ini berisi data isi_kriteria.tb_pemeliharaan berdasarkan id_kriteria dan id_kendaraan...
                            $data[$kr_key]['sub']['count'][] = array(
                                'total'      => $total
                            );
                        }
                }
                $index++;
            }
            return $data;
            // var_dump($data);
        } else{
            return  NULL;
        }
    }

my view code:

<table class="table datatable-basic">
        <thead>
          <tr>
          <th>No</th>
           <th>Kendaraan</th>
           <th>Plat Nomor</th>
           <?php
          $no=1;
          if(!empty($kriteria)) {
          foreach ($kriteria as $isi) { ?>
           <th> <?php echo $isi['nama_kriteria'] ?></th>
          <?php }} ?>
          </tr>
        </thead>
        <tbody>
        <?php
          $no=1;
          if(!empty($getsifat)) {
            foreach ($getsifat as $kr_key => $kendaraan) { ?>
          <tr>
          <td><?php echo $no ?> </td>
          <td><?php echo $kendaraan['nama'] ?> </td>
          <td><?php echo $kendaraan['platno'] ?></td>
          <?php foreach ($kendaraan['sub']['dikali'] as $data)     { ?>
          <td><?php echo $data['normalisasi'] ?></td>
          <?php } ?>
          <?php foreach ($kendaraan['sub']['count'] as $data)     { ?>
          <td><?php echo $data['total'] ?></td> //this my code for show total count
          <?php } ?>
          </tr>
          <?php $no++; }} ?>
        </tbody>
      </table>

ini tampilan output dari $normalisasi

tapi ketika saya coba $total, hasilnya sama dengan $normalisasi isinya ber ulang ulang...

harapan nya $total itu hasilnya hanya 1 kolom dan hasil penjumlahan dari $normalisasi sesuai dengan id_kendaraan nya..

semoga kawan-kawan dapat membantu, terimakasih atas respon nya....

avatar iirfanfirdaus
@iirfanfirdaus

1 Kontribusi 0 Poin

Dipost 4 tahun yang lalu

Belum ada Jawaban. Jadi yang pertama Jawaban

Login untuk ikut Jawaban