簡易掲示板の管理画面を作成しようと思っていますが、
うまくいかずに悩んでいます。
入力フォームで送られてきた内容を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を探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
PHPでファイルのダウンロードす...
-
PHPで複数ファイルのダウン...
-
ファイルのダウンロードのイベ...
-
ftp_getでローカルにファイルが...
-
phpでzipファイルダウンロード...
-
libxml2のインストール
-
複数ファイルを連続でダウンロード
-
zip圧縮の種類について
-
phpでうまく画像がダウンロード...
-
CSVファイルをダウンロード時の...
-
onedrive にexcelファイルをア...
-
.phpと.incファイルの違いはな...
-
フォントの色を変えるには?
-
CFileDialogの最初のディレクト...
-
別ファイルの変数を呼び出した...
-
バッチを用いたフォルダの自動移動
-
現在位置より2つ上のディレク...
-
PHP+MySQL SQL文を外部ファイル...
-
「クラス関数」「メンバ関数」...
-
リンク先を隠す方法はないでし...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
zip圧縮の種類について
-
PHPで複数ファイルのダウン...
-
phpでzipファイルダウンロード...
-
eclipseでコメントアウトができ...
-
PHPでCSVファイルの任意の行だ...
-
PHP 検索結果のCSVダウンロード
-
PDF ダウンロード
-
PHPでファイルのダウンロードす...
-
ファイル一覧を表示しその画面...
-
libxml2のインストール
-
PHPでファイルをダウンロードさ...
-
CSV出力時の”0”表示(電話番号...
-
ブラウザでExcelをダウンロード...
-
【PHP】ダウンロードサイト作成...
-
wgetの使い方
-
PHPでGoogle TTSからMP3ダウン...
-
PHPで複数ファイルをZIPで圧縮...
-
DelphiのURLDownloadToFile関数...
-
VB.NETのFTPダウンロードについて
-
ExcelとPHPについて・・・
おすすめ情報