PHPでCSVを使って商品管理システムを作成しよう④
こんにちは!keitaです♪
CSVでデモの商品管理アプリを作成してみようということで、続きを行っていきます!
この記事では、CSVのデータ情報を削除する機能についてまとめていきます。
前回の続きからはじめていきます!
テンプレートエンジンに編集ボタンを追加
各データのアクション列に、削除ボタンを追加していきます!
編集ボタンの隣に配置しておきましょう!
前回書いたテンプレートエンジンのtable内を下記コードに置きかえします!
ーーーーーーーーーーーーーーーーー
【index.html.twig】
<table border="1">
<tr>
<th>商品ID</th>
<th>商品名</th>
<th>金額</th>
<th>在庫数</th>
<th>アクション</th>
</tr>
{% for data in csvArray %}
<tr>
<td>{{ data.商品ID }}</td>
<td>{{ data.商品名 }}</td>
<td>{{ data.金額 }}</td>
<td>{{ data.在庫 }}</td>
<td>
<input type="button" onclick="location.href='edit.php?id={{ data.商品ID }}'"value="編集">
<input type="button" onclick="location.href='delete.php?id={{ data.商品ID }}'"value="削除">
</tr>
{% endfor %}
</table>
ーーーーーーーーーーーーーーーーー
はい!これでOKです。
商品管理画面に削除ボタンが表示されたはずです。
見てみましょう!
出来てます!
では、削除の機能を作ってきましょう!
削除機能を作成
ラストの削除を作っていきます。
これは、CSVから対象のデータ行を消すという処理になります!
では、PHP処理を書いていきます。
まずはCSVの処理クラスに削除メソッドを書いていきます!
ーーーーーーーーーーーーーーーーー
【class/csv.php】
$file = file($this->file);
unset($file[$del_id]);
file_put_contents($this->file,$file);
}
ーーーーーーーーーーーーーーーーー
こんな感じです。
では、呼び出す側の処理も書いていきましょう!
ーーーーーーーーーーーーーーーーー
【delete.php】
<?php
session_start();
$id =$_GET['id'];
unset($_GET['id']);
// CSVを取得
// ファイルを読み込む
require_once('class/csv.php');
// インスタンス化
$csvread_obj = new csv("csv/item.csv","r");
$csvread_obj -> delete($del_id);
header('Location:index.php');
exit;
?>
ーーーーーーーーーーーーーーーーー
はい!これで完了です♪
では動作確認です!
しっかり削除されてますね(#^.^#)
これでCSVデータを表示、追加、編集、削除の機能を実装できました!
完成です!
ここまでお付き合いいただきありがとうございました!!
最後に
これまで長く色々書いてきましたが、多分分かりにくい点が多々あったかと思います。
それはすいませんでした。
こちらにソースコードを載せているので、よかったら参考にしてみてください!
それではここまで読んでいただきありがとうございました!
前の記事