0

ここでは、選択したドロップダウン値をデータベースに挿入しようとしています。しかし、ここで何が起こっているのか。

ここでは、その横に複数のテキスト ボックスとドロップダウン ボックスがあります。テキストボックスの値がデータベースに正しく挿入されています。しかし、ドロップダウン値がデータベースに正しく挿入されていません..

例: 3 つのテキストボックスとドロップダウン リストがあるとします。テキストボックスにデータを入力し、ドロップダウンで値を選択して送信をクリックします。

送信をクリックしたとき。3 つのテキスト ボックスの値がデータベースに正しく挿入されます。ドロップダウン値が正しく挿入されていません。しかし、最後のドロップダウン値を3回挿入しています...

どうすればこれを解決できますか?

javascript および php コード: このコードはテキストボックスとドロップダウンを動的に生成します

function create(param) {
    'use strict';
    var i, target = document.getElementById('screens');
    target.innerHTML = '';
    target.innerHTML = '<input name="RowCount" value="' + param + '" hidden />';
    for(i = 0; i < param; i += 1) {

       target.innerHTML +='</br>';
       target.innerHTML +='New Movie '+i+'  ';
       target.innerHTML += '<input type="text" name="Fname_' + i + '">';

       target.innerHTML +='  '+'Language '+'  ';
       target.innerHTML += "<?php 
        try {
            $dbh = new PDO('mysql:dbname=theaterdb;host=localhost','tiger','tiger');
        } catch (PDOException $e) {
            echo 'Connection failed: ' . $e->getMessage();
        }

        $sql = 'SELECT language FROM languages;';

        $sth = $dbh->prepare($sql);
        $sth->execute();

        echo "<select name='language' id='course'>";
        echo "<option>----Select Language----</option>"; 
        while($row = $sth->fetch(PDO::FETCH_ASSOC)) {
            echo "<option value='" . $row['language'] ."'>" . $row['language']. "</option>";
        }
        echo "</select>";
?>";

       target.innerHTML +='</br>';
       target.innerHTML +='</br>';
    }
}

テキストボックスとドロップダウンの値を取得するためのphpコード

<?php
mysql_connect("localhost", "tiger", "tiger") or die(mysql_error());
mysql_select_db("theaterdb") or die(mysql_error());
for ($i=0; $i < $_POST["range"] ; $i++)
{
$query = mysql_query("INSERT INTO movie (movie_name,language) VALUES('" . $_POST['Fname_' . $i] . "','" . $_POST['language'] . "') ") or die(mysql_error());
}
?> 
4

1 に答える 1

0

nameそれぞれに異なる属性を指定する必要がありますselect。あなたがやっている方法textfield

テキストフィールドに使用しているのと同じトリックを使用できます。つまり、 の名前にselectsloop-index を追加します。

于 2013-08-30T11:23:27.067 に答える