此表单将以结果数量存储相同的数据
<form method="post" action="multi_insert.php">
<input type="text" name="nis" placeholder="NIS"/>
<input type="text" name="nama" placeholder="Nama"/>
<input type="number" name="result" >
<br/>
<input type="submit" value="Post"/>
</form>
”,这是名为multi_insert.php
的保存的源代码
include "koneksi.php";
for($i=0;$i<$_POST['result'];$i++){
$nis = $_POST['nis'.$i];
$nama= $_POST['nama'.$i];
$query = "insert into SISWA(NIS,NAMA)values('$nis','$nama')";
$mysqli->query($query);
}
$mysqli->close();
和此connectiondb或koneksi.php
$host = "localhost";
$username = "root";
$password = "";
$db_name = "SEKOLAH";
$mysqli = new mysqli($host, $username, $password, $db_name);
if(mysqli_connect_errno()) {
echo "Error: Could not connect to database.";
exit;
答案 0 :(得分:1)
$_POST['nis'.$i]
不存在。.
您应仅使用$_POST['nis']
。
我会更正您的代码
include "koneksi.php";
for($i=0;$i<$_POST['result'];$i++){
$nis = $_POST['nis'];
$nama= $_POST['nama'];
$query = "insert into SISWA(NIS,NAMA)values('$nis','$nama')";
$mysqli->query($query);
}
$mysqli->close();
答案 1 :(得分:1)
<form method="post" action="multi_insert.php">
<input type="text" name="nis" placeholder="NIS"/>
<input type="text" name="nama" placeholder="Nama"/>
<input type="number" name="result" >
<br/>
<button type="submit" >submit</button>
</form>
if($_POST['nis'] && $_POST['nama']) {
$nis = $_POST['nis'];
$nama= $_POST['nama'];
$query = "insert into SISWA(NIS,NAMA)values('$nis','$nama')";
$mysqli->query($query);
}
$mysqli->close();
如果您需要使用相同的名称保存多个输入值,则应使用
<input name="nama[]" />
<input name="nama[]" />
<input name="nama[]" />
代替
<input name="nama" />
if($_POST['nama']) {
foreach($_POST['nama'] as $i => $v) {
$query = "insert into SISWA(NAMA)values('$v')";
$mysqli->query($query);
}
}
$mysqli->close();
答案 2 :(得分:0)
如果使用<input type="text" name="nama[]" />
,则$_POST['nama']
不是输入值,而是数组。要获取该值,您应该说
for($i=0;$i<count($_POST['nama']);$i++){
$nama= $_POST['nama'][$i];
}
这样,您就可以在准备好的声明中使用$nama
或任何变量作为参数。
如果您手动创建或通过JavaScript创建的输入为
<input type="text" name="name1"/>
<input type="text" name="name2"/> et.c