wordpress更新动态字段中的记录

时间:2014-08-07 06:49:52

标签: php mysql wordpress

我有一个系统,其中动态添加新文本字段,可以输入新值。我想将这些值更新到数据库,但由于值是dyanmic我怎么能得到它们并用php表单提交它们?

Html示例

            <tbody>
                <tr valign="top">
                    <th scope="row"><label for="user_limit_for_role">s2member level1</label></th>
                    <td><input type="text" id="" name="s2member_level1" value="400"></td>
                </tr>


                <tr valign="top">
                    <th scope="row"><label for="user_limit_for_role">s2member level2</label></th>
                    <td><input type="text" id="" name="s2member_level2" value="400"></td>
                </tr>


                <tr valign="top">
                    <th scope="row"><label for="user_limit_for_role">administrator</label></th>
                    <td><input type="text" id="" name="administrator" value="500"></td>
                </tr>


            </tbody>

在上面的html中,s2members_level1等字段的名称及其值已经存在于数据库中,它就会出现,但是如果用户更改了值,我需要更新这些值,因为可以添加新的成员级别记录。现场动态增加行如何更新这些值?

我可以使用单个值

$status = $wpdb->query("UPDATE wp_arete_bp_limit_settings SET limit_allowed='500' WHERE membership_role = 's2member_level1'");

但是如何从动态输入字段中获取值并相应地存储它们。

1 个答案:

答案 0 :(得分:2)

           <tbody>
            <tr valign="top">
                <th scope="row"><label for="user_limit_for_role">s2member level1</label></th>
                <td><input type="text" id="" name="s2member_level[]" value="400"></td>
            </tr>


            <tr valign="top">
                <th scope="row"><label for="user_limit_for_role">s2member level2</label></th>
                <td><input type="text" id="" name="s2member_level[]" value="400"></td>
            </tr>


            <tr valign="top">
                <th scope="row"><label for="user_limit_for_role">administrator</label></th>
                <td><input type="text" id="" name="administrator" value="500"></td>
            </tr>


        </tbody>

现在, 在你的PHP中, 你可以用

遍历每个s2member_level
$arr = $_GET['s2member_level'];
foreach($arr as $s2member_level'])
{
   ... //do your job
}