0

我正在尝试创建一个简单的用户编辑选项。但是我遇到了foreach()功能问题。这是代码:

<div id="edit" class="modal hide fade" aria-labelledby="editModal" aria-hidden="true">
    <div class="modal-header">
        <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
        <h4 id="editModal">Hi, <?php echo $u['firstname']; ?>. Edit your profile right here</h4>
    </div>
        <?php foreach ($users as $u) {?>
    <div class="modal-body">
                         <?php  $id=$u['id'];?>
        <form class="form-horizontal" action="<?php echo site_url("users/edit/$id")?>" method="post">
            <div class="control-group">
                <label class="control-label">First Name</label>
                <div class="controls">
                    <input type="text" name="firstname" value="<?php echo $u['firstname']; ?>">
                </div>
            </div>

            <div class="control-group">
                <label class="control-label">Last Name</label>
                <div class="controls">
                    <input type="text" name="lastname" value="<?php echo $u['lastname']; ?>">
                </div>
            </div>

            <div class="control-group">
                <label class="control-label">User Name</label>
                <div class="controls">
                    <input type="text" name="username" value="<?php echo $u['username']; ?>">
                </div>
            </div>

            <div class="control-group">
                <label class="control-label">Email</label>
                <div class="controls">
                    <input type="text" name="email" value="<?php echo $u['email']; ?>">
                </div>
            </div>


            <div class="control-group">
            <div class="controls">
                <button class="btn btn-success" name="edit">Save</button>
            </div>
            </div>

        </form>

        </div>

    <div class="modal-footer">
        <button class="btn btn-danger" data-dismiss="modal" aria-hidden="true">Cancel</button>
    </div> 
<?php }?>
</div>

问题是:当我将foreach()函数放在我的任何 div 下方时,我可以选择编辑数据库的所有用户,即使是那些id尚未通过的用户。当我点击“保存”按钮时,所有用户都会使用相同的信息进行编辑。

但是,如果foreach()将功能放在所有 div 之上,我曾经获得编辑所选用户的选项,但现在没有。它总是与数据库的第一个用户的数据相呼应,当我编辑它时,数据库的整个用户都会被编辑。

为什么会这样?我错过了什么吗?

4

1 回答 1

0

基本上,当您使用 fooloop 时,您form为数据库上的每个数据创建了一个,当您将您的信息放在您的foreach下方时,您div认为$id您的formurl 上的不是所选数据的 id,而是数组的第一个数据。但是,当您将元素放在foreach上面时,这也会迭代您的数据,这就是它仅更新您选择更新的数据的原因。form$id

于 2013-04-27T05:30:02.227 回答