我在同一页上处理两个表单。两者都有相同的选择,管理员可以在其中选择用户。为此,我使用了我创建的find_all()函数。它从给定的表名中选择所有内容。然后使用while loop填充select选项。它们正确地显示在第一个窗体上。但是第二个表单是空的。我想知道为什么会发生这种事。有什么想法吗?谢谢您:)
<?php $users = find_all('ph_users'); ?>
// first form
<form action="credits_manage.php" method="post">
<div class="form-group">
<label for="credits_amount">Credits Amount</label>
<input type="number" placeholder="Enter credits amount" id="credits_amount" class="form-control" required>
</div>
<div class="form-group">
<label for="user">Select User</label>
<select name="user" id="user" class="form-control" required>
<option value="">Select...</option>
<?php while ($user = mysqli_fetch_assoc($users)) { ?>
<option value="<?php echo $user['user_id']; ?>"><?php echo $user['username']; ?></option>
<?php } ?>
</select>
</div>
<input type="submit" value="Give Credits" name="give-credits-submit" class="btn btn-primary waves-effect waves-light mt-2">
</form>
// second form
<form action="">
<div class="form-group">
<label for="credits_amount">Credits Amount</label>
<input class="form-control" type="password" value="lachiweb" id="credits_amount" required>
</div>
<div class="form-group">
<label for="remove_credits_user">Select User</label>
<select name="remove_credits_user" id="remove_credits_user" class="form-control" required>
<option value="">Select...</option>
<?php while ($remove_credits_user = mysqli_fetch_assoc($users)) { ?>
<option value="<?php echo $remove_credits_user['user_id']; ?>"><?php echo $remove_credits_user['username']; ?></option>
<?php } ?>
</select>
</div>
<div class="form-group">
<label for="reason">Choose a Reason</label>
<input class="form-control" type="password" value="lachiweb" id="reason" required>
</div>
<input type="submit" value="Remove Credits" name="update-password-submit" class="btn btn-primary waves-effect waves-light mt-2">
</form>发布于 2020-03-12 14:43:36
我认为这是因为你使用了两次mysqli_fetch_assoc($users)),这不是它的工作原理,我不确定这一点,但我认为你只能使用一次,因为它已经在所有用户中循环,所以没有其他东西可以循环。
https://stackoverflow.com/questions/60648442
复制相似问题