2016-11-11 48 views
0

這是我的兩張表即bill和product_list。更新兩張表加入單個查詢

所屬類別表看起來像這樣

id bill_id  description    quantity   amount 

19  18  ["item1","item2","item3"] ["2","1","2"] ["100","100","150"] 

賬單表看起來像這樣..

id invoice_no  pp_no  

18 JED00018   34533 

控制器看起來像這樣..

function edit_bill($id) 
    { 
    var_dump($id); 
    $this->form_validation->set_rules('pp_no',Number','required'); 
    if($this->form_validation->run()==true) 
    { 
     $data=array('pp_no'=>$this->input->post('pp_no')); 
     if($this->Bills_model->bill_update($id,$data)) 
     { 
      $this->session->set_flashdata('success_msg','Bills Updated successfully.'); 
      redirect('bills.html'); 

     } 
    } 
    $data['result']=$this->Bills_model->view_bill_by_id($id); 
    $data['search_url'] = 'bills.html'; 
    $data['active'] = 'bill'; 
    $data['module'] = 'admin/edit_bill'; 
    $this->load->view('admin/master',$data); 

} 

模型看起來像

function bill_update($id,$data) 
{ 

     $this->db->join('product_list','product_list.bill_id=bills.id'); 
     $this->db->where('bills.id',$id); 
     $this->db->update('bills',$data); 

     $data['description']=$this->input->post('description',true); 
     $description=json_encode($data['description']); 
     $data['quantity']=$this->input->post('quantity',true); 
     $quantity=json_encode($data['quantity']); 
     $amount=json_encode($this->input->post('amount',true)); 
     $data2=array('description'=>$description,'quantity'=>$quantity,'amount'=>$amount); 
     $this->db->join('bills','bills.id=product_list.bill_id'); 
     $this->db->where('product_list.bill_id',$id); 
     $this->db->update('product_list',$data2); 

     if($this->db->affected_rows() != 0) 
     { 
      return TRUE; 
     } 
     else 
     { 
      return FALSE; 
     } 
} 

我的看法形式如下

<form class="form-horizontal" method="post" action="<?php echo base_url(); ?>bills/edit_bill/<?php echo $result->id; ?>"> 
    <div class="clearfix"></div> 
    <div class="form-group"> 

    <label for="pp_no" class="col-sm-2 control-label">PP NO/ID</label> 
    <?php echo form_error('pp_no'); ?> 
    <div class="col-sm-3" style="padding-top:5px;"> 
    <input type="text" class="form-control" name="pp_no" id="pp_no" value="<?php echo $result->pp_no;?>" > 
    <input type="hidden" name="id" value="<?php echo $result->id;?>"> 
     </div> 
    </div> 

     <table id="items"> 

     <tr> 
      <th>Item No</th> 
      <th>Description</th> 
      <th>Amount</th> 
      <th>Quantity</th> 
      <th>Total</th> 
     </tr> 

     <?php $description=json_decode($result->description)?> 
     <?php $amount=json_decode($result->amount)?> 
     <?php $quantity=json_decode($result->quantity);?> 


    <?php foreach($description as $index => $row){ 
      ?> 

    <tr class="item-row"> 

     <td class="item-no"><div class="delete-wpr"><textarea class="textarea"></textarea><a class="delete" href="javascript:;" title="Remove row">X</a></div></td> 
     <td class="description"><textarea class="textarea" name="description[]"><?php echo $row;?></textarea></td> 
     <td><textarea name="amount[]" class="cost textarea"><?php echo $amount[$index];?></textarea></td> 
     <td><textarea name="quantity[]" class="qty textarea"> <?php echo $quantity[$index];?></textarea></td> 
     <td><span class="price"></span></td> 
    </tr> 
    <?php }?> 
</table> 
    <div class="form-group"> 
    <div class="col-sm-offset-2 col-sm-10"> 
    <input type="hidden" name="id" value="<?php echo $result->id;?>"> 

    <button type="submit" class="btn btn-primary" style="margin-top: 20px;" >Save</button> 
</div> 
</div> 
</form> 

這裏的時候,我更新任何領域,給了提交,它會所屬類別的這樣localhost/edit_bill/19 id和沒有爲什麼它會像任何想法這個。

+0

任何想法,任何人如果有請...... –

+0

我只是增加了它,請參閱 –

+0

它的本地主機/ sgcargo .. –

回答

0

它會像這個localhost/edit_bill/19 這樣的產品列表的id,並不知道爲什麼它會這樣。

因爲你要告訴它!

<form class="form-horizontal" method="post" action="<?php echo base_url(); ?>bills/edit_bill/<?php echo $result->id; ?>"> 

只是鬆了一下你在哪裏添加id到URL!因此,它成爲...

<form class="form-horizontal" method="post" action="<?php echo base_url();?>bills/edit_bill"> 

您已經在「發佈」你的形式ID ...

<input type="hidden" name="id" value="<?php echo $result->id;?>"> 
+0

謝謝..但我怎樣才能獲取身份證然後.. –

+0

你正在發佈它...它在你的$ _POST或更好但$ this-> input-> post('id'); – TimBrownlaw

+0

當我給這個'$ id = $ this-> input-> post('id');'它顯示'C:\ wamp64 \ www \ sgcargo \ application \ controllers \ Bills.php:158:null' –