1

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

是的,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>";
        }
4

1 回答 1

0

If you want to match up the interaction value to the count value after a POST has been made, you can loop through the interactions array and match the count array.

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

Then do the insert however your database is set up. Preferably with PDO or MySQLi.

Example (not tested):

<?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);
于 2013-06-19T01:49:47.790 回答