CodeIgniter 中的重复行

插入数据库是k。但是,数据库两次返回相同的值!我尝试了很多东西。不知道,我哪里错了。这就是它通过一个条目返回的方式!!! 

请帮忙。我的代码(视图、控制器和模型)是:


看法


function customerBarCode(){

                var itemCode=document.getElementById('customerbarcode').value;

                $.ajax({

                    type:'POST',

                    data:({itemCode:itemCode}),

                    url:"<?php echo base_url();?>inventory/itemMaster/customerBarCode_c",

                    success:function (data){

                      var data=jQuery.parseJSON(data);

                      if (data.status==true){

                        alert();

                        var tabledata=data.tableData;

                        var q=$("#example-1");

                        $("#example-1").find('tbody').empty();

                        $("#example-1").find('tbody').html(data.tableData);

                      }

                    }

                  })

控制器


function customerBarCode_c(){

            $result=$this->itemMaster_m->customerBarCode_m();

            $tabRow ="";

            $i=1;

            $status='i';

            foreach ($result as $row)

            {

                $tabRow.= '<tr><td>'.$i.'</td><td id="eacctCol" class="eacctCol">'.$row['customer_name'].'</td><td class="bar code"><data-id="barCode'.$i.'">'.$row['BARCODE'].'</td><td class="description"><data-id="desc'.$i.'">'.$row['DESCRIPTION'].'</td><td><button type="button" style="background-color:transparent; border-color:transparent; color:red" id="btnDel"><i class="fa fa-close" data-id="close'.$i.'"></i></button></td><td>'.$row['CUSTOMER_CODE'].'</td><td>'.$status.'</td></tr>';

                $i++;

            }

            if($result){

                $response=array("status"=>true,"tableData"=>$tabRow);

            }

            else{

                $response=array("status"=>false);

            }

            echo json_encode($response);

}


跃然一笑
浏览 147回答 3
3回答

大话西游666

解决“重复行问题”的一种方法是使用 SQLGROUP BY子句。因此,将您的模型函数更改为如下所示:function customerBarCode_m(){&nbsp; &nbsp; &nbsp; &nbsp; $itemId=$this->input->post('itemCode');&nbsp; &nbsp; &nbsp; &nbsp; $query=$this->db->query("select A.*, B.ACCTNAME as customer_name from customer_bar_code A, ledger_accounts B where A.CUSTOMER_CODE=B.ACCTCODE and ITEM_CODE='" . $itemId . "'" . ' GROUP BY ITEM_CODE');&nbsp; &nbsp; &nbsp; &nbsp; return $query->result_array();}这样,您可以保证获得具有不同ITEM_CODE值的行。

呼如林

在视图中,tbody 也在其他地方。因此两个 tbody 都显示了。所以,更改了下面的行,$("#example-1").find('tbody').html(data.tableData);到下面这个,$("#example-1").find('tbody').eq(0).html(data.tableData);

ITMISS

将您的模型查询替换为以下内容:$this->db->select("A.*,B.ACCTNAME as customer_name");$this->db->from('customer_bar_code A');$this->db->join('ledger_accounts B','A.CUSTOMER_CODE=B.ACCTCODE and ITEM_CODE="'.$itemId.'"');$query = $this->db->get();$result = $query->result_array();return $result;另外,请注意,您包含 customer_name 的所有表格单元格都具有相同的 id,可以作为前缀或后缀加上一些唯一值或标识符以保持唯一性。
打开App,查看更多内容
随时随地看视频慕课网APP