HTML代码
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>dynamic</title>
</head>
<body>
<form action="">
<div id="items">
<input type="text" name="username">
</div>
<input type="button" value="add entry" id="add">
<input type="submit" value="submit">
</form>
<script src="js/jquery-3.2.1.min.js"></script>
<script src="js/custom.js"></script>
</body>
</html>
JavaScript代码
$(document).ready(function(){
$("#add").click(function (e){
event.preventDefault()
$('#items').append('<div><input type="text" name="username">'
+'<input type="button" value="delete" id="delete"/></div>');
});
$('body').on('click','#delete',function (e){
$(this).parent('div').remove();
});
});
数据库连接
<?php
$local = "localhost";
$username = "root";
$password = "";
$dbname = "test";
$conn = mysql_connect($local, $username, $password);
$db= mysql_select_db( $dbname,$conn);
$n=$_POST["username"];
$in = "INSERT INTO table(header1) VALUES ('$n') ";
if(mysql_query($in)===TRUE)
{
echo " <h1>successfully Inserted</h1> <br>";
}
else {
echo "Error: " . $in . "<br>" . $conn->error;
}
?>
DB name = test
表名=表
我需要用逗号存储值每个值都需要用逗号分隔, 在上面的代码我创建了动态文本框,因此有很多文本框。 屏幕截图如下所示:
答案 0 :(得分:2)
正如其他人已经指出的那样,不要在数据库中存储逗号分隔列表,而是将它们标准化或使用序列化的blob字段(不太好,但更好)。
也不应该使用mysql_ *函数,因为它们已在PHP5.6(?)中弃用,并在PHP7中完全删除。请改用mysqli_ *或PDO。 此外,您的代码容易受到SQL注入攻击,因为您将发布的数据直接存储到数据库中。
看看我的一个较旧的答案,这是一个相同的主题(有点):Link
答案 1 :(得分:0)
要在发布的数据中获取一组用户,您应首先将输入更改为:
<input type="text" name="username[]">
然后在您的PHP代码中,使用implode function以逗号分隔所有用户加入:
$n = implode(",", $_POST["username"]);
$in = "INSERT INTO table(header1) VALUES ('$n') ";
...
注意用户输入,您应该在插入之前验证它们,不要相信用户输入