エンジニアの備忘録

学んだ事をアウトプットしていきます

PHP用チートシート

ポップアップで論理削除

Modelsに削除用SQL文を

public function findDel($id = 0) {
    $sql = "UPDATE players SET del_flg = '1' ";
  $sql .= " WHERE id = :id";
    $sth = $this->dbh->prepare($sql);
    $sth->bindParam(":id", $id, PDO::PARAM_INT);
    $sth->execute();
    $result = $sth->fetchAll(PDO::FETCH_ASSOC);
    return $result;
}

Controllersにメソッドを作成

public function delete() {
        if(empty($this->request["get"]["id"])) {
            echo "指定のパラメータが不正です。このページは表示できません。";
            exit;
        }

        $delete = $this->Player->findDel($this->request["get"]["id"]);
        $params = [
            "delete" => $delete
        ];
        return $params;
    }

Viewsに表示画面を

削除ボタンをクリック

→ポップアップ表示で「はい」をクリック

→delete.phpに遷移

 クリックしたボタンのIDを送る

 

<?php
$player = new PlayerController();
$params = $player->index();
 
<form action="/PlayerController.php" method="GET">
      <td><button formaction="./delete.php" type="submit"
       onclick="return confirm_delete();">削除</button></td>
        <input type="hidden" name="id" value="<?= $player['id'] ?>">
        </form>
        <script>
          function confirm_delete() {
              var select = confirm("削除してもよろしいですか?");
                  return select;
                  }
        </script>

遷移先でメソッド呼び出し

<?php
$params = $player->delete();
// 下記へ自由にHTMLを記載