繁体   English   中英

Codeigniter foreach未定义变量

[英]Codeigniter foreach Undefined variable

我想计算hargaLamahargaBaru ,然后将其插入数据库。 为此,当hargaBaru是用户输入时,我从mysql中的视图检索hargaLama到控制器。 即使我使用的是foreach ,我也得到了不确定的变量hargaLama并且也出现了错误

“字段列表”中的未知列“ kodeProduksi”。 这是我的控制器:

 public function proses_tambahBarang(){

      $kode = $_POST['kode'];
      $kodeProduksi = $_POST['kodeProduksi'];
      $nama = $_POST['nama'];
      $tipe = $_POST['tipe'];
      $ukuran = $_POST['ukuran'];
      $merk = $_POST['merk'];
      $satuan = $_POST['satuan'];
      $jumlah = $_POST['jumlah'];
      $harga = $_POST['hargaSatuan'];
      // echo "proses_tambahBarang";
      $data_insert = array(
        'kodeBarang' => $kode,
        'kodeProduksi' => $kodeProduksi,
        'namaBarang' => $nama,
        'tipeBarang' => $tipe,
        'ukuran' => $ukuran,
        'merk' => $merk,
        'satuan' => $satuan,
        'jumlah' => $jumlah,
        'hargaSatuan' => $harga,
        'keterangan' => 'n/a',
        'idUser' => $this->session->userdata('username'),
        'waktuMasuk' => 'n/a',
        'waktuEdit' => 'n/a'
      );

      //$cek = $this->mhome->Barang("where kodeBarang = $data_insert[kodeBarang]");
      // if($cek >= 1)
      // {
        $cek = $this->mhome->BarangHistory("where kodeProduksi = '$data_insert[kodeProduksi]'");
        // $cek = $this->db->get_where('baranghistory',array('kodeProduksi' =>$data_insert['kodeProduksi']));
        if($cek >= 1);
        {
          $query = $this->mhome->TableSelect('listBarang',"where kodeProduksi = '$data_insert[kodeProduksi]'");
          foreach ($query as $row) {
            $hargaLama = $row[0]['hargaSatuan'];
            $jumlahLama = $row[0]['jumlah'];
          }
          $hargaBaru = $data_insert['hargaSatuan'];
          $jumlahBaru = $data_insert['jumlah'];

            $jumlahBaru = $jumlahBaru + $jumlahLama;
            $data_insert['jumlah'] = $jumlahBaru;
            $data_insert['waktuEdit'] = date("Y-m-d h:i:sa");
            $data_insert['keterangan'] = "Updated";
            $this->mhome->UpdateData('baranghistory',$data_insert,array("kodeProduksi" => $data_insert['kodeProduksi']));
            $this->mhome->UpdateData('barang',$data_insert,array("kodeBarang" => $data_insert['kodeBarang']));
          }
          // $this->mhome->hitungHargaSatuan("where kodeBarang = '$data_insert[kodeBarang]'");
          $hitung = $this->mhome->hitungHargaSatuan($data_insert['kodeBarang']);
          if($hitung){
            $this->session->set_flashdata('pesan','Tambah Barang Sukses');
            redirect('userhome/index');
          }
          if($cek == 0) {
            $data_insert['waktuMasuk'] = date("Y-m-d h:i:sa");
            $data_insert['keterangan'] = "Baru";
            $res = $this->mhome->InsertData('barang',$data_insert);
            $res2 = $this->mhome->InsertData('baranghistory',$data_insert);
          }

            if($res >= 1 && $res2 >=1)
            {
              $this->session->set_flashdata('pesan','Tambah Barang Sukses');
              redirect('userhome/index');
            }
            else {
              echo "Tambah barang gagal";
            }
        }

这是我的模型:

public function TableSelect($table,$where="")
{
  $stmt = $this->db->query('select * from '.$table.' '.$where);
  return $stmt->result_array();
}

我确定您不必在这里输入0

      foreach ($query as $row) {
        $hargaLama = $row['hargaSatuan'];//remove [0] from here
        $jumlahLama = $row['jumlah'];//remove [0] from here
      }

这样。您需要使用基于count ,因为这是返回的array。并使用result_array()获取数组格式的结果。

$cek = $this->mhome->BarangHistory("where kodeProduksi = $data_insert['kodeProduksi']")->result_array();
        // $cek = $this->db->get_where('baranghistory',array('kodeProduksi' =>$data_insert['kodeProduksi']))->result_array();
        if(count($cek) >= 1);
        {
          $query = $this->mhome->TableSelect('listBarang',"where kodeProduksi = $data_insert['kodeProduksi']");
          foreach ($query as $row) {
            $hargaLama = $row['hargaSatuan'];
            $jumlahLama = $row['jumlah'];
          }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM