需要帮助将动态字段和值插入PHP中的mysql db表。 样本数据
$data[] = array( 'client'=>$clientname,
'amount' => 12000,
'balance'=>6000,
'term'=>6,
'maturitydate'=>'2016-05-31'
)
传递参数以获取上述数据:branch = branchid,date = cutoffdate
这是我需要插入上述数据的表格结构。
字段: 科, 日期, 户口号码, 领域, 值
前两个字段值来自传递的参数,account_no来自使用传递的param查询db后的数据,因为字段值应来自数组索引,value是索引值。 插入数据后的表
branch date account_no field value
br001 2016-03-31 0010GL001 client Client Name 1
br001 2016-03-31 0010GL001 amount 12000
br001 2016-03-31 0010GL001 balance 6000
...
一直在网上寻找一些可能的解决方案,但我找不到一个。 任何帮助将受到高度赞赏。谢谢
答案 0 :(得分:1)
假设您已经有前三个值(branch
,date
,account_no
)并且还分配了$clientname
,则可以使用foreach()
,因此脚本应该是这样的:
<?php
$branch = 'br001';
$date = '2016-03-31';
$accNo = '0010GL001';
$clientname = 'client_name';
$data = array('client' => $clientname,
'amount' => 12000,
'balance' => 6000,
'term' => 6,
'maturitydate' => '2016-05-31'
);
foreach ($data as $field => $value) {
$query = "INSERT INTO db_table
(`branch`, `date`, `account_no`, `field`, `value`)
VALUES
('" . $branch . "', '" . $date . "', '" . $accNo . "', '" . $field . "', '" . $value . "')";
echo $query . '<br>';
mysqli_query($link, $query) or die(mysqli_error($link));
}
?>
这将产生以下查询:
INSERT INTO db_table (`branch`, `date`, `account_no`, `field`, `value`) VALUES ('br001', '2016-03-31', '0010GL001', 'client', 'client_name')
INSERT INTO db_table (`branch`, `date`, `account_no`, `field`, `value`) VALUES ('br001', '2016-03-31', '0010GL001', 'amount', '12000')
INSERT INTO db_table (`branch`, `date`, `account_no`, `field`, `value`) VALUES ('br001', '2016-03-31', '0010GL001', 'balance', '6000')
INSERT INTO db_table (`branch`, `date`, `account_no`, `field`, `value`) VALUES ('br001', '2016-03-31', '0010GL001', 'term', '6')
INSERT INTO db_table (`branch`, `date`, `account_no`, `field`, `value`) VALUES ('br001', '2016-03-31', '0010GL001', 'maturitydate', '2016-05-31')