
簡易掲示板の管理画面を作成しようと思っていますが、
うまくいかずに悩んでいます。
入力フォームで送られてきた内容を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で質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
zip圧縮の種類について
-
DelphiのURLDownloadToFile関数...
-
HTTPダウンロード後に自動削除
-
phpのheader("Location:#pos")...
-
.htaccessにphp_valueが使用できな
-
*.php、*.php3、*.phtmlの違い
-
mysql→EUC-JP、php→UTF-8の時の...
-
phpでメール送信できません 原...
-
phpのextension_dirを複数指定...
-
phpの中でphpを書けないか
-
PHP PDOライブラリが読み込まれ...
-
mamp環境でのcronの使い方で困...
-
PHPでメールを受信するには?
-
再度、xamppにおけるjpgraphの...
-
セッションについての設定なの...
-
2つの画像ファイルが異なるファ...
-
require_once()でファイルが読...
-
PHP版のPDFlibのインストール
-
PHPのif文でその処理を途中で抜...
-
header(Location:~)で$_SESS...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
PHPで複数ファイルのダウン...
-
zip圧縮の種類について
-
VB.NETのFTPダウンロードについて
-
libxml2のインストール
-
PHPでファイルのダウンロードす...
-
ftp_getでローカルにファイルが...
-
xamppファイルのダウンロードに...
-
phpでzipファイルダウンロード...
-
CSVファイルのダウンロード
-
wgetの使い方
-
PDF ダウンロード
-
複数ファイルを連続でダウンロード
-
ダウンロードダイアログなしで...
-
ファイルダウンロードについて
-
csvをダウンロードする際、いき...
-
【PHP】ダウンロードサイト作成...
-
PHPでダウンロードしたファイル...
-
HTTPダウンロード後に自動削除
-
PHPでネット上のPDFファイルを保存
-
PHPでファイルのダウンロード判...
おすすめ情報