1

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

1 に答える 1

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);
于 2013-06-19T01:49:47.790 に答える