2017-10-10 5 views
-2

良い計算を行う方法がわかりません。たとえば、pay列に値を挿入したとします。$ 1500という入力があり、Pay2列が空白であるとします。私は1500を取って20%オフにしたいので、Pay * 20/100を考えていて、Pay2の列に1200を入力します。だから、同じ列では、私は1500と1200を持っています。どんな助けも素晴らしいでしょう。PDOまたはMYSQLIを使用して1500 * 20/100のような特定の計算を実行するにはどうすればよいですか?

データベースで支払い列を選択し、計算して、同じ行のPay2列に挿入します。

これは任意の値であることができ、それは1500年である必要はありません、それは=データベース MPay =ペイ* 100分の20

UPDATE Pay2設定MPay〜900または90

SELECTペイ可能性がありPay2

+0

だからあなたはこの式を試してみました列の値を変更するには、テーブルとUPDATEから賃金をつかむためにSELECTを使用したいですか?期待どおりに動作しないのですか? – WillardSolutions

+0

これは20%割引を提供する方法です。あなたはそれを試しましたか? – sheplu

+0

私は数式を試していません。私はどのように選択または挿入を使用する必要があり、どのように開始するのか分からない。私は良い例を見つけようとしています。 – TD00

答えて

-1

あなたは価値のオフ割合を取りたい場合は、あなたが目を呼び出すことができコーディングあなたのPDOおよびSQLで

// this function returns amount after discount 

    function calcDiscount($percentage, $pay){ 
     return $pay - (($percentage/100) * $pay); 
    } 

    // call the function 

    $pay = 1500; 
    $discount = 20; 
    $pay2 = calcDiscount($discount, $pay); 

ので、この機能を使用することができます電子機能:MySQLの文の場合

//this code works for this $id. For multiple id's you will need a loop  
$id = 1; 
$discount = 20; 

$conn = pdo_connect(); 

$sql = 'SELECT  Pay1 
     FROM  Your_Table 
     WHERE  ID = :ID'; 

$statement = $conn->prepare($sql); 
$statement->bindValue(":ID", $id, PDO::PARAM_STR); 

$statement->execute(); 

// 1. get the pay1 from the row 
$result = $statement->fetchAll(PDO::FETCH_ASSOC); 

// store the value in a variable 
$pay = $result[0]['Pay1']; 

// 2. calculate the discount for Pay1 
$pay2 = calcDiscount($discount, $pay); 

// 3. update the column for pay2 
$sql = 'UPDATE Your_Table 
     SET Pay2 = :pay2 
     WHERE ID = :ID'; 

$statement = $conn->prepare($sql); 
$statement->bindValue(":pay2", $pay2, PDO::PARAM_INT); 
$statement->bindValue(":ID", $id, PDO::PARAM_STR); 


$statement->execute(); 

$conn = null; 

、あなたが実際に

+0

これはOPの質問に対する答えですか? – WillardSolutions

+0

まあ、私は有料の列を更新したくない、私はちょうどPay2の列に挿入したいので、私は元のお支払いと割引料金を見ることができます。私は給与計算列の数字を変更したくありません。私はこれを試して見てください。それはうまくいくかもしれない。 – TD00

+0

これは、2番目の列のみを更新する必要があります。この例では、 'Name_of_Pay2_Column'と呼ばれています。 –

関連する問題