
簡易掲示板の管理画面を作成しようと思っていますが、
うまくいかずに悩んでいます。
入力フォームで送られてきた内容をcsvファイルに書き込み、
それを表示するという掲示板なのですが、
管理画面ではそのcsvファイルを操作して、
任意の書き込みを修正・削除できるようにしたいと考えています。
以下、PHPコードです。
if($mode == "edit"){
foreach($csv as $val){
list($li_no, $li_date, $li_comment) = split("\t",$val);
if($li_no == $info_no){
$csv[$info_no] = "$id\t$date_y/$date_m/$date_d\t$comment\t\n";
fputs($fp,$csv[$info_no]);
fclose($fp);
}
}
}else{
$dat = "$id\t$date_y/$date_m/$date_d\t$comment\t\n";
$fp = fopen('$csv' , 'w');
fputs ($fp, $dat);
for ($i=0; $i<1000;$i++){
fputs ( $fp,$csv[$i]);
}
fclose($fp);
}
編集用のフォームで$info_noを飛ばして、
CSVファイル内の$li_noと一致した場合、
$li_noの行を書き換えという処理をしているつもりなのですが、
なぜか、他の行がすべて消えて、
編集した行だけがファイル内に残ります。
いろいろと検索して試してはみたのですが、
どうもうまくいきません。
どなたか教えてください。
お願いします。
これ以外の方法で簡単にできる方法があれば
そちらも教えていただけたら幸いです。
No.1ベストアンサー
- 回答日時:
ロジックは書きませんが、
1.CSVの内容をメモリー(変数)に読み込む
2.$li_noと一致した場合 :入力された情報でCSVに書き込む
$li_noと一致しない場合:メモリの情報でCSVに書き込む
一部の書き換えでは無く、ファイル全体を書き換えが必要になります。
この回答への補足
ありがとうございます。
回答を参考に、
if($mode == "edit"){
foreach($csv as $val){
list($li_id, $li_date, $li_comment) = split("\t",$val);
$fp = fopen(csv' , 'w');
if($li_id == $info_no){
$csv[$li_id] = "$li_id\t$date_y/$date_m/$date_d\t$comment\t\n";
}else{
$csv[$li_id] = "$li_id\t$li_date\t$li_comment\t\n";
}
}
$fp = fopen('csv' , 'w');
fputs ($fp, $csv[$li_id]);
for ($i=0; $i<1000; $i++){
fputs ( $fp,$csv[$i]);
}
fclose($fp);
}
としたのですが、うまくいきませんでした。
なぜか、編集した文章と、最後に新規で追記した文章が追加されてしまいます・・・・。
1. あいうえお
2. かきくけこ
3. さしすせそ
の2を編集すると
1.あいうえお
1.あいうえお
2.かきくけこ(編集した)
3.さしすせそ
となってしまいます。。。。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(プログラミング・Web制作) python 気象データの取得 2 2023/06/20 23:54
- その他(プログラミング・Web制作) pythonのpandasのcsvの外部結合(outer_join)した際に列が想定とは異なる事象 1 2022/05/25 13:23
- PHP PHPでCSVを出力するさいに、ループの中で前の行の値を変更したい 3 2022/10/27 17:44
- Visual Basic(VBA) 複数のcsvファイルをExcelに一括変換したい 2 2023/03/03 12:44
- その他(プログラミング・Web制作) データ解析ソフトRでのファイル入力read.csvがエラーになります 7 2022/03/27 22:11
- Excel(エクセル) エクセルのVBAについて とあるサイトのコードを参考に、CSVの文字化けを直すVBAを作成しているの 7 2022/11/04 14:15
- Excel(エクセル) CSVファイルでVBAを動かす方法 3 2023/04/04 10:22
- Visual Basic(VBA) Excel VBA でデータ転記について 1 2023/03/07 19:11
- PHP コメント機能に返信欄を矢印で追加したい 1 2022/05/09 21:17
- PHP 共通の処理をまとめる方法がわからないのでアドバイスお願いします。 1 2022/12/19 20:20
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・「それ、メッセージ花火でわざわざ伝えること?」
- ・ゆるやかでぃべーと すべての高校生はアルバイトをするべきだ。
- ・【お題】甲子園での思い出の残し方
- ・【お題】動物のキャッチフレーズ
- ・人生で一番思い出に残ってる靴
- ・これ何て呼びますか Part2
- ・スタッフと宿泊客が全員斜め上を行くホテルのレビュー
- ・あなたが好きな本屋さんを教えてください
- ・かっこよく答えてください!!
- ・一回も披露したことのない豆知識
- ・ショボ短歌会
- ・いちばん失敗した人決定戦
- ・性格悪い人が優勝
- ・最速怪談選手権
- ・限定しりとり
- ・性格いい人が優勝
- ・これ何て呼びますか
- ・チョコミントアイス
- ・単二電池
- ・初めて自分の家と他人の家が違う、と意識した時
- ・「これはヤバかったな」という遅刻エピソード
- ・ゴリラ向け動画サイト「ウホウホ動画」にありがちなこと
- ・泣きながら食べたご飯の思い出
- ・一番好きなみそ汁の具材は?
- ・人生で一番お金がなかったとき
- ・カラオケの鉄板ソング
- ・自分用のお土産
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
PHPで複数ファイルのダウン...
-
ファイルのダウンロードが出来ない
-
zip圧縮の種類について
-
生成したHTMLをボタンクリック...
-
PHPのif文でその処理を途中で抜...
-
FTPコマンドでディレクトリごと...
-
onedrive にexcelファイルをア...
-
PHPで文字列(日本語)の比較
-
phpMyAdminはSSL下でアクセスす...
-
Subversionのリポジトリの削除
-
さくらサーバーにて、phpからメ...
-
カウンターの作り方
-
PHPのサーバでアクセスが急にお...
-
mail関数について
-
「クラウドにアップロード」」...
-
別サーバの記述だけ持ってくる...
-
トランザクションが原因?DBに...
-
VB6にてメールを送信する方法
-
ファイルのアップロード$_FILES...
-
拡張子をphpではなくcgi...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
zip圧縮の種類について
-
PHPで複数ファイルのダウン...
-
PHPでファイルのダウンロードす...
-
VB.NETのFTPダウンロードについて
-
libxml2のインストール
-
複数ファイルを連続でダウンロード
-
eclipseでコメントアウトができ...
-
phpでうまく画像がダウンロード...
-
phpでzipファイルダウンロード...
-
PHPでファイルをダウンロードさ...
-
CSVファイルのダウンロード
-
download.phpは何故あるのか?
-
ファイル一覧を表示しその画面...
-
Excelファイルをダウンロード
-
ダウンロードファイル名の文字...
-
ファイルのダウンロードのイベ...
-
HTTPで返されるファイル名の取...
-
生成したHTMLをボタンクリック...
-
ftp_getでローカルにファイルが...
-
phpでEXCELファイルの編集
おすすめ情報