簡體   English   中英

如何使用php for loop將多個值插入數據庫

[英]How to insert multiple values into database using php for loop

我在每一行中都有一個文本框和一個下拉框。

現在我想在文本框中輸入一些日期,然后在下拉列表中選擇一些值。

當我單擊它應該保存到數據庫中。

我怎樣才能做到這一點?

這是我的代碼

php插入代碼:當我單擊提交時,此php代碼應該

<?php
mysql_connect("localhost", "tiger", "tiger") or die(mysql_error());
mysql_select_db("theaterdb") or die(mysql_error());
$query = mysql_query("INSERT INTO movie (movie_name,language) VALUES('$_POST[Fname]','$_POST[language]') ") or die(mysql_error());
?>

下拉列表是動態生成的

碼:

function create(param) {
    'use strict';

    var i, target = document.getElementById('screens');
    target.innerHTML = '';

    for(i = 0; i < param; i += 1) {
       target.innerHTML +='</br>';
       target.innerHTML +='New Movie '+i+'  ';
       target.innerHTML += '<input type="text" name="Fname">';
       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>';
    }
}

用戶界面看起來像這樣...

在此處輸入圖片說明

為文本框添加名稱並選擇類似的框

name =“ text_box” + i和name =“ select_box” + i。 “一世”

是來自循環計數器的值,例如,如果您有100個New Moview,則將為每個文本框(如text_box1, text_box2. ..... text_box100. text_box1, text_box2. ..... text_box100. 您應該在提交檔案時輸入“ New MovieS”的數字,即“ i”,在php代碼中,為每個元素循環並保存它們。 在第一個迭代中,您將具有$_POST[Fname1] and $_POST[language1]等。

以HTML形式:將文本框和下拉元素名稱設置為相同的算法ElementName + RowNumber; RowCount的插入元素: <input type="hidden" name="RowCount" value="3">

在PHP中:獲取值:

for($iRow=0;$iRow less $_POST['RowCount'];$iRow++) {
    mysql_query("INSERT INTO movie (movie_name,language) VALUES('".$_POST['Fname'.$iRow]."','".$_POST['language'.$iRow]."');
}

在您的js中添加一行,使輸入內容沿着target.innerHTML = '<input name="RowCount" value="' + param + '" hidden />'來打印內容,然后在您的PHP中使用:

for ($i=0; $i < $_POST["RowCount"]; $i++) {
     $query = sprintf("INSERT INTO movie ('movie_name', 'language') VALUES ('%s', '%s')",
         mysqli_real_escape_string($_POST["Fname"]), // Escaping values before inserting.
         mysqli_real_escape_string($_POST["language"]));
     mysqli_query($con, $query);
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM