2017-08-16 7 views
0

つまり、同じタイプの製品に対して複数のクライアントを支払う金額は$ 20,000です。 クライアント1ドル12,000円、 クライアント2ドル3,000ドル、 クライアント2ドル5,000ドル。 合計は$ 20,000です。テーブルを選択して更新し、値がゼロのときに選択を停止します

支払う買い手量が停止し、その後ゼロになるまでを選択し、更新テーブルは

  1. 、買い手は製品のために購入することをクリックしたときに私がしたいと、彼らが利用可能です。
  2. 彼は自分の行を支払って更新する必要がある行の数をカウントします。

私が試してみましたが、そのうちには機能していない

$qry=mysqli_query($link,"Select sum(selleramount) from sellertable Where buyer product>0"); 
$asum=$row[0]; 
($row=mysqli_fetch_array($ry)); 
foreach ($qry as $row) { 
    $balance=$buyeramount-$asum; 
    mysqli_query($link,"insert into buyertable (amount,seller_id,) values ('$amount_to_payseller','$sellertopayid')"); 
    mysqli_query($link,"update sellertable set seller amount='$balance'"); 
} 

を試してみました。私はアイデアを持っていますが、私が知りたくないものについてはどうやって行くのですか?

答えて

0

私はあなたのデータを正しくテストするつもりはありませんが、ここではTransactionメソッドが有効です。例!

$qry=mysqli_query($link,"Select sum(selleramount) from sellertable Where buyer product>0"); 
$asum=$row[0]; 
$mysqli->begin_transaction(MYSQLI_TRANS_START_READ_ONLY); 
($row=mysqli_fetch_array($ry)); 
foreach ($qry as $row) { 
    $balance=$buyeramount-$asum; 
    mysqli_query($link,"insert into buyertable (amount,seller_id,) values ('$amount_to_payseller','$sellertopayid')"); 
    mysqli_query($link,"update sellertable set seller amount='$balance'"); 
} 
$mysqli->commit(); 
$mysqli->close(); 
+0

答えに感謝します。上記の解決策には何が期待されますか。 – user8473381

+0

実際には、トランザクションとコミットは基本的にトランザクションを保留し、完了すると、レコードポインタの最後を新しい更新を含むように移動してコミットします。したがって、合計が失敗した場合は、ロールバックを追加できます。 – Cyberience

関連する問題