【问题标题】:Inserting multiple arrays into different rows将多个数组插入不同的行
【发布时间】:2013-07-07 16:59:40
【问题描述】:

我将输入字段收集为一个数组,以插入到数据库的不同行中。但是它只插入数组的第一行。

请协助。我在处理数组时遇到了一些问题。我不知道如何构建查询,我尝试在线搜索,但无法获得足够的帮助。非常感谢您对查询的帮助。

这是我的 HTML 代码:

<input type = "text" class = "form_element" name = "wat_office_type[]" />
<input type = "number" name = "wat_office_price[]" class = "form_element" />

虽然我使用 jQuery 添加更多的输入框。

这是我的 php:

$wat_office_type_post = $_POST['wat_office_type'];
$wat_office_price_post = $_POST['wat_office_price'];
$wat_office_type = array();
$wat_office_price = array();

foreach ($wat_office_type_post as $type) {
    if (!empty($type))
        $wat_office_type[] = $afrisoft->antiHacking($type);
}

foreach ($wat_office_price_post as $post) {
    if (!empty($post))
        $wat_office_price[] = $afrisoft->antiHacking($post);
}

我想插入 2 个单独的行并实现如下效果:

--------------------------------------------
| Pk | wat_office_type  | wat_office_price |
--------------------------------------------
| 1  | executive office |             1000 |
--------------------------------------------
| 2  | Training room    |             4000 |
--------------------------------------------
| 3  | Events room      |             5000 |
--------------------------------------------

如果我能获得有关insert 查询(mysql,php)的帮助,我将不胜感激,我如何将第一个数组的所有值插入一列,并将第二个数组的值插入第二列,而每个都匹配 d 提供的数组数量。

谢谢。

【问题讨论】:

    标签: php mysql arrays


    【解决方案1】:

    如果我理解正确,您需要将两个数组组合成类似

    $list = array(
     array('pk' => 1, 'type' => 'executive', 'price' => 1000),
     array('pk' => 2, 'type' => 'training room', 'price' => 4000),
     array('pk' => 3, 'type' => 'events room', 'price' => 5000)
    );
    

    然后你可以调用一个foreach循环来查询数据库中的每个元素,比如

    foreach($list as $key => $value) {
    $sql = "INSERT INTO table_name (pk, type, price) VALUES (?, ?, ?)"; 
    $query = $this->db->prepare($sql);
    $params = array($value['pk'], $value['type'], $value['price']);
      if($query->execute($params)) {
        return true;
      } else {
        return false;
      }  
    }
    

    因此,您可以使用一个 foreach 循环并为每组结果创建一个关联数组(我假设两个数组的计数相同?),而不是执行两个 foreach 循环并将结果放入不同的数组中以上。

    【讨论】:

      猜你喜欢
      • 2022-01-24
      • 2018-08-06
      • 1970-01-01
      • 2013-07-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-12-12
      • 2016-02-15
      相关资源
      最近更新 更多