遇到了问题。 我有这样的形式
<input name="product[sub_name][]">
<input name="product[price][]">
<input name="product[random][]">
<input name="product[just_field][]">
我可以按“添加更多”添加此表单的多个块。 接收posta数据我做的事情。
$field = $_POST['product'];
foreach ($field as $key => $values) {
foreach($values as $value) {
$key.' - '.$value;
}
}
我需要代码在数据库中插入多行,具体取决于发布的行。问题是,我不知道如何获得,例如,“价格”。目标是在数据库中插入所有数据。希望你们理解我的逻辑。
这是print_r输出。我可以获得比两个更多的可能性
Array (
[sub_name] => Array ( [0] => New car [1] => New bike )
[standart_price] => Array ( [0] => 100 [1] => 300 )
[cupon_price] => Array ( [0] => 50 [1] => 200 )
[max_purchases] => Array ( [0] => 1000 [1] => 100 )
)
答案 0 :(得分:0)
尝试使用
print_r($_POST["product"]);
输出整个数组。
您确定公式传输的值是否传递到$ _POST?
请你发布输出。
答案 1 :(得分:0)
检查出来..
<?
//Connect to DB.
$link = mysqli_connect("HOST","USERNAME","PASSWORD","DATABASE") or die("Error " . mysqli_error($link));
//Consider your table structure in MYSQL. Don't depend on this structure.
//CREATE TABLE TBL1(SLNO PRIMARY KEY AUTO_INCREMENT, DETAIL_VALUE VARCHAR(200));
foreach( $_POST['product'] as $key => $value )
{
//Get specific Tag.
if( $key == 'price')
{
//Creating Query to insert.
$query = "insert into TBL1('DETAIL_VALUE') VALUES('".addslashes($value)."')";
$mysqli_query($link, $query) or die;
}
}
?>
有关查询或php的更多详细信息:请参阅PHP.net。
答案 2 :(得分:0)
$mysqli = new mysqli("localhost", "root", "password", "db name");
$field = $_POST['product'];
foreach ($field['price'] as $idx => $price)
{
$sub_name = $field['sub_name'][$idx];
$random = $field['random'][$idx];
$just_field = $field['just_field'][$idx];
$sql = "INSERT INTO table (sub_name, random, just_field, price) VALUES ('{$sub_name}','{$random}','{$just_field}','{$price}')";
$mysqli->query($sql);
}
答案 3 :(得分:0)
如果您重新组织数组以首先包含索引,则可以获得更有序的结果:
<input name="product[$index][sub_name]">
<input name="product[$index][price]">
<input name="product[$index][random]">
<input name="product[$index][just_field]">
每次添加新产品时都会使用javascript更改索引,这样,当您在php中收到数据时,您可以执行以下操作:
$products = $_POST['product'];
foreach ($products as $product)
{
$sub_name = $product['sub_name'];
$random = $product['random'];
$just_field = $product['just_field'];
$sql = "Your SQL query"
$mysqli->query($sql);
}
也许需要更多的工作来改变使用javascript的html索引,但你的代码变得更加清晰。
P.S。这是一般的想法,我不测试它。