配对foreach循环的两个元素

时间:2013-06-19 01:32:33

标签: php mysql foreach

我有一个foreach循环(看,它在下面),我得到了一些元素。将这些数据存储到MySQL中时,我想选择每个'count []'属于哪个类别(此处标记为'interaction []')。例如,如果第1行的计数为97,而那些恰好是“chas”,我可以从我的下拉列表中选择“cha”,设置它的值,然后将其输入表中。希望为标题[]的每个实例执行此操作。

是的,json部分有效。是的,填充了数据。是的,我已经搜索过了。没有错误。

希望这是有道理的,我真的不能表达我的感激之情。我希望有一天能够不要问这些愚蠢的问题,但是,嘿,这是一个很好的方法。如果还有其他事情需要澄清,请告诉我。

    foreach ($json->report->data as $key=>$el) {
           ?> 
           <input type="hidden" value="<?php echo $key; ?>" name="row[]">
            <?php
                echo "<tr><td><input name=\"title[]\" value=\"".$el->name."\" />".$el->name."</td>
                <td><input name=\"count[]\" value=\"".$el->counts[0]."\" />".$el->counts[0]."</td>
                <td>".$key."</td>
                <td><select name=\"interaction[]\"><option value=\"blah\">blah</option><option value=\"ha\">ha</option><option value=\"cha\">cha</option></select></td></tr>";
        }

1 个答案:

答案 0 :(得分:0)

如果要在POST完成后将交互值与计数值匹配,则可以遍历交互数组并匹配计数数组。

foreach ($_POST['interaction'] as $key => $value) {
    $insertText = $value;
    $insertCount = $_POST['count'][$key];
}

然后执行插入,但是设置了数据库。最好使用PDO或MySQLi。

示例(未测试):

<?php
    $sql = "INSERT INTO my_table (interaction, count) VALUES ";

    $data = array();
    $x = 0;
    foreach ($_POST['interaction'] as $key => $value) {
        if ($x > 0) $sql .= ", ";
        $sql .= "(:interaction_{$x}, :count_{$x})";
        $data['interaction_' . $x] = $value;
        $data['count_' . $x] = $_POST['count'][$key];
    }
    $query = $pdo->prepare($sql);

    $query->execute($data);