【问题标题】:Having trouble with a foreach + mysql INSERTforeach + mysql INSERT 遇到问题
【发布时间】:2011-10-13 04:16:00
【问题描述】:

我想知道是否可以创建一个插入到 mysql 中的动态表。我所拥有的是这个用户可以根据需要扩展的小桌子。 (获得尽可能多的输入行。)

<script>
var count = 0;
$(function(){
$('p#add_field').click(function(){
    count += 1;
    $('#container').append(
            '<strong>Recipient #' + count + '</strong><br />' 
            + '<tr><td><label>Client First Name:</label><input id="f_name_' + count + '" name="f_name[]' + '" type="text" /></td><td><label>Client Last Name:</label><input id="l_name_' + count + '" name="l_name[]' + '" type="text" /></td></tr>');

});
});
</script>

JS 设置了很好的输入 ID 和名称(f_name_1、f_name_2、l_name_1、l_name_2 等),但是当我尝试遍历输入并将值插入 MYSQL 时,麻烦就开始了。如果您只提交一行(名称),这将非常有用。唉,如果你想提交两行(名称),它会运行循环并将四行插入数据库。


约翰·多伊
简爱
约翰·爱
简·多伊

这是插入:

//Loop through added fields
foreach ( $_POST['f_name'] as $key=>$f_name) {
  foreach ( $_POST['l_name'] as $key=>$l_name) {

    //Insert static values into table
    $sql_user = sprintf("INSERT INTO mytable (f_name, l_name) VALUES ('%s','%s')",
    mysql_real_escape_string($f_name),
    mysql_real_escape_string($l_name));
    $result_user = $db->query($sql_user);   
    }
    }               


<?php if (!isset($_POST['btnSubmit'])) { ?>
<h1>My Form</h1>
    <form name="userdata" method="post" action="">

    <h3>Please list the names:</h3>
<table>
    <div id="container">
        <p id="add_field"><a href="#"><span>+ Add Names</span></a></p>
    </div>
</table>

    <input type="submit" name="btnSubmit" id="go" value="Submit Your Names" class="btn" />


    </form>
<?php } ?>

感谢您的任何建议,因为这是我一直无法弄清楚的事情。

JE

【问题讨论】:

    标签: php mysql foreach


    【解决方案1】:

    您正在循环遍历彼此嵌套的两个数组,因此您可以获得两者的所有可能组合。您只想遍历其中一个数组,并使用索引在另一个数组中查找相应的值:

    foreach ( $_POST['f_name'] as $key => $f_name ) {
        $l_name = $_POST['l_name'][$key];
        // do something with $f_name and $l_name
    }
    

    【讨论】:

    • 我想我爱你。非常感谢你。你的回答正是我需要的。 INSERT 现在工作得很好。 ;)
    猜你喜欢
    • 2013-12-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-11-26
    • 1970-01-01
    • 2011-05-18
    • 2013-08-02
    • 2012-08-11
    相关资源
    最近更新 更多