5

複数のフィールドを 1 つのテーブルに挿入したいときに問題があります。

これが私のフォームです:

<h1>Add user</h1>
 <form method="post" action="index.php">

 <table>
    <thead>
        <th>Name</th>
        <th>Age</th>
    </thead>

    <tr>
        <td><input name="name[]" type="text" /></td>
        <td><input name="age[]" type="text" /></td>
    </tr>

    <tr>
        <td><input name="name[]" type="text" /></td>
        <td><input name="age[]" type="text" /></td>
    </tr>

    <tr>
        <td><input name="name[]" type="text" /></td>
        <td><input name="age[]" type="text" /></td>
    </tr>
</table>

 <input type="submit" name="submit" value="Submit" />
 </form>

そして、送信コードは次のとおりです。

if (isset($_POST['submit'])) {

    foreach ($_POST as $val) {
        $name = $val['name'];
        $age = $val['age'];

        mysql_query("INSERT INTO users (name, age) VALUES ('$name', '$age')");
    } 
}

クエリはデータベースに挿入されますが、入力した値は挿入されません。

誰か助けてくれませんか?

4

6 に答える 6

6
if (isset($_POST['submit'])) {

$i = 0;
foreach ($_POST as $val) {
    $name = $_POST['name'][$i];
    $age = $_POST['age'][$i];

    mysql_query("INSERT INTO users (name, age) VALUES ('$name', '$age')");
    $i++;
  } 
}

これはあなたの問題を解決します!

于 2013-08-09T22:39:22.520 に答える
0
$education_institute_array = $_POST['education_institute'];
        $education_qualification_array = $_POST['education_qualification'];
        $education_start_date_array = $_POST['education_start_date'];
        $education_end_date_array = $_POST['education_end_date'];
        $education_note_array = $_POST['education_note'];
        for ($i = 0; $i < count($education_institute_array); $i++) {
            $education_institute = mysql_real_escape_string($education_institute_array[$i]);
            $education_qualification = mysql_real_escape_string($education_qualification_array[$i]);
            $education_start_date = mysql_real_escape_string($education_start_date_array[$i]);
            $education_end_date = mysql_real_escape_string($education_end_date_array[$i]);
            $education_note = mysql_real_escape_string($education_note_array[$i]);
            $sql_education_insert = "INSERT INTO `education` (`user_id`, `education_institute`, `education_qualification`, `education_start_date`, `education_end_date`, `education_note`) VALUES ('$user_id', '$education_institute', '$education_qualification', '$education_start_date', '$education_end_date', '$education_note')";
            $sql_result_education = mysql_query($sql_education_insert);
        }
于 2016-07-24T07:56:25.150 に答える
0

以下は、一度に複数の行を挿入する方法のサンプルです

$query_string = "INSERT INTO YOURTBL_NAME(column_1,column_2)VALUES";
    $data ="";
    for($i=0;$i<count($YOUR FILE ARRAY);$i++)
    {
        $data .='("'.$paramater_1[$i].'","'.$paramater_2.'"),';
    }
     $qry = substr($query_string.$data, 0, -1); 
     $result = mysql_query($qry);
于 2016-02-06T09:20:38.323 に答える