データベースからオブジェクトの配列を取得し、PHPを使用してそれらを繰り返してテーブルを表示しています。テーブルの各結果行には、その特定のレコードをデータベースから削除するオプションがあります。各行はオブジェクトでもあり、オブジェクト型にはデータベースから自身を削除するメソッドがあります。ループ内のビューでのオブジェクトメソッドのアクセスphp7
私が抱えている問題は、これをビューで動作させる方法を考えていることです。今すぐ削除ボタンをクリックすると、POST変数が「削除」に設定され、リスナー・プロセスが変数を検出し、レコード・データベースIDを含む隠れた入力を介して削除を開始する同じページが再ロードされます。
これはすべてうまくいくものですが、これらはすべてオブジェクトです。それぞれのメソッドにアクセスできないようにする必要がありますか?これに対する唯一の障壁は、PHPスクリプトとHTMLフォームの相互作用です。私のコードは以下の通りです。理想的には、削除ボタンを押すと、そのオブジェクトのチームリーダの特定のインスタンスは、そのメソッドteamleader-> delete_team_leader()を実行できます。
<?php foreach($teamleaders as $teamleader) { ?>
<tr>
<td><?php echo $teamleader->first_name; ?></td>
<td><?php echo $teamleader->last_name; ?></td>
<td><img src="<?php echo '../img/' . $teamleader->photo;?>" alt="" class="img-fluid tiny-tl-img"></td>
<td><?php echo nl2br(substr($teamleader->bio, 0, 100));?>...</td>
<td><?php echo $teamleader->url_name;?></td>
<form action="index.php?a=edittl" method="post">
<td>
<input type="hidden" name="id" value="<?php echo $teamleader->id?>">
<input type="submit" class="btn btn-default" name="edit" value="Edit">
</td>
</form>
<form action="index.php" method="post">
<td>
<input type="hidden" value="<?php echo $teamleader->id?>" name="id">
<input type="submit" class="btn btn-danger" name="delete" value="Delete" onclick="return confirm('Are you sure you want to delete this team leader?')">
</td>
</form>
</tr>
<?php } ?>