我正在尝试创建一个简单的用户编辑选项。但是我遇到了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 之上,我曾经获得编辑所选用户的选项,但现在没有。它总是与数据库的第一个用户的数据相呼应,当我编辑它时,数据库的整个用户都会被编辑。
为什么会这样?我错过了什么吗?