我觉得这个问题有一个简单的解决方案,但我无法弄清楚。我使用while循环显示数据库的字段。每个while循环结束时都是一个表单输入,管理员可以在其中批准用户。 (所有已批准的需要做的是在该特定记录的批准列中将1更改为2。)
所有已批准的记录都会更改,而不是我想要的特定记录。我的问题是如何一次只选择和更改一条记录。 (获得批准的记录)。非常感谢您提供给我的任何帮助。
<?php
//select the database to write to
$unapprovedTeachers = mysql_query("SELECT * FROM members_teachers WHERE approved = '1'", $dbc) or die("Could not select the unapproved teachers at this time.");
//While loop to cycle through the rows
while($row = mysql_fetch_assoc($unapprovedTeachers)){
$teacher_id = $row['id'];
echo $teacher_id;
?>
<ul class="admin-fields">
<?php
foreach($row as $field){
if(empty($field)){
echo "....";
}
print '<li>' .$field.' </li>';
}//End For Each Loop
//print $teacher_id;
?>
</ul>
<footer>
<?php
if(isset($_POST['approve'])){
mysql_query("UPDATE members_teachers SET approved = '2' WHERE id= ".$teacher_id."", $dbc) or die ("Oops something went wrong");
}
?>
<ul>
<li>
<form method="post">
<button name="approve" id="approve" type="submit">approve</button>
</form>
</li>
</ul>
</footer>
<!--End New Row-->
</section>
<?php
}//End While Lopp
mysql_close($dbc);
?>
</div>
答案 0 :(得分:2)
您只是为显示的每一行数据输出 SAME 表单。您至少需要在每个表单中嵌入相关成员的ID,因此表单可以提交该特定ID,例如
<form method="post">
<input type="hidden" name="teacher_id" value="$teacher_id" />
<button name="approve" id="approve" type="submit">approve</button>
</form>
注意隐藏字段。提交按钮后,您可以
$ teacher_id = $ _POST ['teacher_id'];
检索ID,然后发出更新查询。