如何创建多个动态表单字段并插入mysql数据库

Regardt Ogies Myburgh

我需要创建包含以下内容的动态文本字段:名字姓氏年龄性别。我应该有一个名为“添加新用户”的按钮,该按钮会简单地添加一个新行,我可以在其中键入姓氏年龄性别。我需要动态的,因为我不知道每个事件将添加多少个用户。我还需要在数据库中存储添加的行的姓氏年龄性别(x)数量。

我需要类似下面的内容:但是我需要彼此相邻的另外3行。因此,我将“ INSERT INTO my_hobbies(姓名,姓氏,年龄,性别)

我知道这听起来很牵强,但我为此感到挣扎。

<?php 
require("dbconn.php");
?>

<html>
<head>
<title></title>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript">
var counter = 0;
$(function(){
$('p#add_field').click(function(){
counter += 1;
$('#container').append(
'<strong>Hobby No. ' + counter + '</strong><br />' 
+ '<input id="field_' + counter + '" name="dynfields[]' + '" type="text" /><br />' );

});
});
</script> 

<body>

<?php
if (isset($_POST['submit_val'])) {
if ($_POST['dynfields']) {
foreach ( $_POST['dynfields'] as $key=>$value ) {
$values = mysql_real_escape_string($value);
$query = mysql_query("INSERT INTO my_hobbies (hobbies) VALUES ('$values')", $connection );  

}
}

echo "<i><h2><strong>" . count($_POST['dynfields']) . "</strong> Hobbies Added</h2></i>";

mysql_close();
}
?>
<?php if (!isset($_POST['submit_val'])) { ?>
<h1>Add your Hobbies</h1>
<form method="post" action="">


<div id="container">
<p id="add_field"><a href="#"><span>Click To Add Hobbies</span></a></p>
</div>

<input type="submit" name="submit_val"  value="Submit"  />
</form>
<?php } ?>

</body>
</html>
波尔斯

您已经有了一个javascript计数器,因此可以使用它来识别哪些输入字段属于同一字段。根据您的示例,可以使用如下所示的内容:

$(function(){
    $('p#add_field').click(function(){
        counter += 1;
        $('#container').append(
        '<strong>Hobby No. ' + counter + '</strong><br />' 
        + '<input id="field_' + counter + '" name="dynfields['+counter+'][name]' + '" type="text" /><br />' +
        + '<input id="field_' + counter + '" name="dynfields['+counter+'][surname]' + '" type="text" /><br />' +
        + '<input id="field_' + counter + '" name="dynfields['+counter+'][age]' + '" type="text" /><br />' +
        + '<input id="field_' + counter + '" name="dynfields['+counter+'][gender]' + '" type="text" /><br />');

    });
});
</script>

您可以以相同的方式在PHP中捕获它。只需注意,该值现在是一个数组,而不是单个值,但是您可以使用array_keysarray_values通过一种简单的方法来创建查询。在PHP中尝试以下操作:

if (isset($_POST['submit_val'])) {
    if ($_POST['dynfields']) {
        foreach ( $_POST['dynfields'] as $key=>$fieldArray ) {

            $keys = array_keys($fieldArray);
            $values = array_map("mysql_real_escape_string",$fieldArray);

            $query = mysql_query("INSERT INTO my_hobbies (".implode(',',$keys).") VALUES ('".implode('\',\'',$values)."')", $connection );  
        }
    }

    echo "<i><h2><strong>" . count($_POST['dynfields']) . "</strong> Hobbies Added</h2></i>";

    mysql_close();
}

是的,@ alda1234是正确的。您不应该使用mysql_*它,因为它已被弃用。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

将表单字段插入数据库(瓶子,sqlite)

检索HTML动态表单字段数据并保存到MySQL数据库

如何使用 Java/JDBC 将动态创建的字段值插入 MySQL 数据库?

如何使用php将动态表单字段插入mysql

表单字段未存储在mysql数据库中

如何使用 Laravel 5.4 将多个表单字段保存到数据库中

当表单字段为空时未创建$ _POST值时,将数据插入数据库

将表单字段中的变量插入数据库 PHP/SQL 的按钮

动态发票表单字段并过帐到数据库

动态创建和处理多个表单字段组

如何使用来自Django数据库的数据填充表单字段

无法更新表单字段中的数据库条目

无法将表单字段输入数据库?

数据库插入的动态输入字段

如何使用来自数据库的值来验证Tapestry的表单字段?

如何验证表单字段但不将其存储在数据库中

将表单中的多个字段插入数据库中的单个字段

如何订购在Django中动态创建的模型表单字段

如何将JSON数据插入表单字段

无法使用php从动态创建的数据库中插入数据添加删除字段

如何从表单字段更新多个mysql行

如何创建编辑基于mysql数据库表中的字段在复选框中显示状态的表单?

如何使数据库表字段动态

使用python搜索mysql数据库中的多个字段表单数据

如何在不同的应用程序更新数据库后刷新表单字段并查看?姜戈,蟒蛇

PHP创建表单以将数据插入数据库

如何在php中将动态表单值插入到数据库中

如何使用php和mysql将创建的行值上的多个jquery插入数据库中?

如何动态获取表单字段值?