私は、簡単な支払いフォームを持っており、それが含まれているvoucher_id
、customer_id
、amount
、payment_type
、transaction_type
とdate
。
Transaction_typeは、引き出しと預金です。
データベーステーブルに「amount」列を含めるべきではありません。クレジットとデビットの列があります。この場合、クレジット列への金額の取引の場合INSERT
、debit
列に金額を記入したいと思います。type ="Withdraws"
INSERT
Transaction_type ="Deposits"
INSERT
テーブルにデータを表示すると、次のようになります。
列数が行1の値数と一致しません
なぜなら、テーブルには借方と貸方の列があるからです。しかし、私のフォームには1つの列があり、名前は金額です。このクエリを挿入して質問を整理するにはどうすればよいですか。
<?php
// save data if form is submitted
if(isset($_POST['submitted'])){
// catch data
$voucher_numebr = $_POST['voucher_numebr'];
$member_id = $_POST['member_id'];
$amount = $_POST['amount'];
$acc_type = $_POST['acc_type'];
$payment_type = $_POST['payment_type'];
$discription = $_POST['discription'];
$created = date("Y-m-d H:i:s");
// $balance = $_POST['balance'];
$tranaction_type = $_POST['tranaction_type'];
$balance="NOT DEFINE";
//insert to the tbl_customer_account
if($tranaction_type == "Withdrawls."){
//echo "1";
$sql ='INSERT INTO tbl_customer_account VALUES(NULL,"'.$voucher_numebr.'","'.$member_id.'","'.$amount.'","'.$acc_type.'","'.$payment_type.'","'.$discription.'","'.$created.'","'.$tranaction_type.'","'.$balance.'")';
}
else{
$sql ='INSERT INTO tbl_customer_account VALUES(NULL,"'.$voucher_numebr.'","'.$member_id.'","'.$amount.'","'.$acc_type.'","'.$payment_type.'","'.$discription.'","'.$created.'")';
}
//else{
//}
mysql_query($sql, $conn) or die(mysql_error());
echo 'form submitted';
echo '<br />';
echo mysql_affected_rows(); die();
}
?>
各列に値を指定していないため、更新する列を指定する必要があります。これは、すべての列を更新する場合でも良い習慣であるため、テーブルの構造に対する将来の変更(列の追加や移動など)について心配する必要はありません。
テーブル構造が含まれていないため、列名を推測する必要があります。
if($tranaction_type == "Withdrawls."){
//echo "1";
$sql ='INSERT INTO tbl_customer_account (some_field, voucher_number, member_id, debits, account_type, payment_type, description, created, transaction_type, balance) VALUES(NULL,"'.$voucher_numebr.'","'.$member_id.'","'.$amount.'","'.$acc_type.'","'.$payment_type.'","'.$discription.'","'.$created.'","'.$tranaction_type.'","'.$balance.'")';
}
else{
$sql ='INSERT INTO tbl_customer_account (some_field, voucher_number, member_id, credits, account_type, payment_type, description, created) VALUES(NULL,"'.$voucher_numebr.'","'.$member_id.'","'.$amount.'","'.$acc_type.'","'.$payment_type.'","'.$discription.'","'.$created.'")';
}
あなたが除外transaction_type
しbalance
、預金をする理由があると思いますか?
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加