![](/img/trans.png)
[英]How to insert the multiple row values of a table into the database using php
[英]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.