我正在使用以下代码在标签点击上生成多个文本框,它可以正常工作,并使用不同的名称创建多个文本框。我想在php端获取textbox的值并为每个文本框运行insert查询。但我不知道如何在PHP中使用它。这是我的代码plz帮助。
<html>
<head>
<title>
</title>
<script>
var index = 1;
function insertRow(){
var table=document.getElementById("rep1");
var row=table.insertRow(table.rows.length);
var cell1=row.insertCell(0);
var t1=document.createElement("input");
t1.id = "txtName"+index;
t1.name = "txtName"+index;
cell1.appendChild(t1);
index++;
}
</script>
</head>
<body>
<label id="btnAdd" style=" width: 10px;" class="button-add" onclick="insertRow();">add</label>
<table id="rep1">
</table>
</body>
</html>
SQL架构:
T_no(AI) Text_value
PHP代码:
<?php
if(isset($_POST["submit"]))
{
$t1=$_POST['name'];// i am confused here how to take value and run query for all
?>
答案 0 :(得分:2)
客户端代码
您必须将<script>
var index = 1;
function insertRow(){
var table=document.getElementById("rep1");
var row=table.insertRow(table.rows.length);
var cell1=row.insertCell(0);
var t1=document.createElement("input");
t1.id = "txtName"+index;
t1.name = "txtName[]"; //Use array of names not id
cell1.appendChild(t1);
index++;
}
</script>
用于多个名称字段
$_POST['txtName'];
请检查How to get form input array into PHP array
您可以使用<?php
if(isset($_POST["submit"]))
{
$t2=$_POST['txtName'];
$query_parts = array();
$qu = "INSERT INTO try VALUES";
foreach($t2 as $val)
{
$query_parts[] = "('', '" . $val . "')";
}
$qu .= implode(',', $query_parts);
$res=mysqli_query($con,$qu);
if(!$res) { echo("Error description: " . mysqli_error($con)); }
}
?>
或任何其他请求方法
将数组插入数据库的服务器端编码
{{1}}
上面的代码不会阻止来自SQl injection的数据。您可以使用预准备语句来防止PHP中的SQL注入。 Link
答案 1 :(得分:1)
使用此代码。它会帮助你。
<?php
print_r($_POST['txtName']); // Here you can get you all values.
?>
<html>
<head>
<title>
</title>
<script>
var index = 1;
function insertRow(){
var table=document.getElementById("rep1");
var row=table.insertRow(table.rows.length);
var cell1=row.insertCell(0);
var t1=document.createElement("input");
t1.id = "txtName"+index;
t1.name = "txtName[]"; // Use array in textbox name..
cell1.appendChild(t1);
index++;
}
</script>
</head>
<body>
<form method="POST" action="" >
<label id="btnAdd" style=" width: 10px;" class="button-add" onclick="insertRow();">add</label>
<table id="rep1">
</table>
<input type="submit">
</form>
</body>
</html>
答案 2 :(得分:1)
为此你必须存储总索引值(应该指定你创建输入字段的时间)。之后你的php代码应该如下所示..
PHP代码:
<?php
if(isset($_POST["submit"]))
{
$t1=$_POST['txtName'.$index];
?>
索引变量将是您的循环中当前索引值的总输入字段长度