我有像这样的数据库结构
现在我已经设计了表单来输入不同主题的Fm和PM
现在,我如何在此数据库中插入上述表单中的值作为一次插入的多行
答案 0 :(得分:1)
您可以使用以下语法一次插入多行:
INSERT INTO tablename (column1, column2)
VALUES (val1, val2),
(val1, val2);
你的相似(你可能想要添加其他列):
INSERT INTO tablename (fm, pm)
VALUES (100, 40),
(100, 60);
答案 1 :(得分:1)
正如我可以看到你已经采取了fm和pm但你需要在这里找到数组类型找到下面的代码才能理解它
<?php
include_once('dbconfig.php');
$mysql="Select * from subjects where class_id='$class_id' ";
$result=mysql_query($mysql); ?>
<form method='post' action='insert.php'>
<?php
while($row=mysql_fetch_array($result)) {
echo $row['subject_name'];
?>
<input type='text' name='fm[]' placeholder='fullmarks' class='input-small'>
<input type='text' name='pm[]' placeholder='passmarks' class='input-small'>
<br/>
<?php } ?>
<button id='classbutton' name='submit' class='btn btn-success'> Save</button>
</form>
和insert.php你可以使用像这样
for($i = 0; $i <count($_POST)-1; $i++)
{
mysql_query("INSERT INTO `marks`(`fm`,`pm`) VALUES('".$_POST['fm'][$i]."','".$_POST['pm'][$i]."');");
}
这里标记为表名和fm,pm是表colume
答案 2 :(得分:0)
使用像标记[subject_id]这样的数组 可以对所有受试者重复主题div
<form action="insert.php">
<div class="subject">
<input type="text" name="marks[1][fm]">
<input type="text" name="marks[1][pm]">
</div>
<input type="submit">
然后在insert.php循环中通过_POST ['marks']和foreach构造一个INSERT语句并插入该行。
我不知道你是否有实际的后端,确保你逃避输入以避免sql注入,在这里你会找到一种方法来做到这一点
http://www.php.net/manual/en/mysqli.quickstart.prepared-statements.php