この問題には簡単な解決策があるように感じますが、理解できません。while ループを使用してデータベースのフィールドを表示しています。各 while ループの最後には、管理者がユーザーを承認できるフォーム入力があります。(承認された必要があるのは、その特定のレコードの承認済み列の 1 を 2 に変更することだけです)。
必要な特定のレコードではなく、すべての承認済みレコードが変更されます。私の質問は、一度に 1 つのレコードだけを選択して変更するにはどうすればよいかということです。(承認されるレコード)。あなたが私に提供できる助けをありがとう。
<?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>