2016-06-01 18 views
-3

私はいくつかの助けが必要を更新... 私はCodeIgniterのに問題がある、私は、テーブルの製品である私の製品の株式をアップグレードする必要が自分CodeIgniterの、株式

public function venderProduto($id) 
{ 

     $data=array('id_venda' => null, 
     'id_cliente' => $id_cliente, 
     'medicamento' => $medicamento, 
     'quantidade' => $quantidade, 
     'preco' => $preco); 

    $this->db->where('id_venda', $id); 
    $this->db->select('produto.stock,vendas.quantidade'); 
    $this->db->insert('vendas', $data); 
    $this->db->update('stock-quantidade'); 
} 

することにより、このコードを持っています私はテーブル販売(vendas)に売りを挿入するときに、在庫を表示する金額を取ってほしい...

+1

あなたはいくつかの非常に基本的な間違いを犯しています。あなたが学生の場合は、最初にcodeigniterマニュアルのチュートリアルを実行してください。これがあなたのビジネスのためのものなら、あなたを助ける人を雇う。 – cartalot

答えて

0

あなたの質問を混在させるようです。 1つは完了する必要があり、2つ目は実行する必要があります。

私が正しく理解している場合は、レコードをsalesテーブルに挿入してから、製品テーブルを更新する必要があります。

関数には、id_cliente、medicamento、quantidade、およびprecoの値がどのように機能しているかは表示されません。関数パラメータとして設定するか、GETまたはPOST変数として指定する必要があります。

public function venderProduto($id, $id_cliente, $medicamento, $quantidade, $preco) 
{ 
     $data = array('id_venda' => null, 
     'id_cliente' => $id_cliente, 
     'medicamento' => $medicamento, 
     'quantidade' => $quantidade, 
     'preco' => $preco); 

    $this->db->insert('vendas', $data); 
    //test to make sure that insert was successful 
    if ($this->db->insert_id()) 
    { 
     //get existing stock quantity 
     $this->db->select('stock-quantidade'); 
     $this->db->where('id_venda', $id); 
     $query = $this->db->get('produtos'); 
     $row = $query->row(); 
     $quantity_in_stock = $row->stock-quantidade; 

     //I am assuming that $quantidade is the quantity of the order 
     $new_quantity_in_stock = $quantity_in_stock - $quantidade; 

     //update products table 
     $this->db->where('id_venda', $id); 
     $this->db->update('produtos', array('stock-quantidade' => $new_quantity_in_stock)); 
    } 
} 

上記は、表示されているとおりに動作する場合と動作しない場合がありますが、これは使用するロジックと順序です。問題がある場合は、受け取ったエラーメッセージを投稿する必要があります。

だからこれの順序は次のとおりです。

  1. 挿入販売。
  2. 挿入が成功したかどうかをテストします。
  3. 在庫量を取得します。
  4. 在庫数から数量を減算します。
  5. 在庫の更新
+0

私はテーブル販売の販売を挿入し、私のテーブル製品の在庫を更新する必要があります、テーブル製品の私の株式は、すでに私は販売を行うときに私はどのくらいの量を入れて、その商品の在庫数量は –

+0

回答が更新されました。エラーが発生した場合は、ここに投稿してください。 –

+0

私はこのコードがうまくいくと思いますが、$ quantity_in_stock = row-> stock-quantidadeにこのエラーがあります。 予期しない ' - >'(T_OBJECT_OPERATOR) –