現在以下のようなものを作っています。
1)csvファイル(内容は id,url,name )からデータを読み込み、
2)フォーム内のテキストフィールドに表示、
3)新規登録フォームからcsvのラストに1行増やす。
ここまではできたのですが、
4)テキストフィールドに読み込んだCSVデータの一部を修正する
というのはどうすればいいのでしょうか?
現在、
$fp = fopen("link.csv", "r");
while ($linkdata = fgetcsv($fp, 1000, ',')){
list($a, $b, $c) = $linkdata;
…
}で、
<input name="id" type="text" value="$a"><input name="id" type="text" value="$b"><input name="id" type="text" value="$c">
こんな感じで表示されています。
チェックした行を削除というのと、
表示されたテキストフィールドの中を書き換えてsubmitで更新というのを作りたいのですが…
No.2ベストアンサー
- 回答日時:
一行ずつ読み込むサンプルを作ったので、この方法を応用すれば目的の処理ができるはずです。
頑張ってください。
<html><head>
<meta http-equiv="Content-Type" content="text/html; charset=shift_jis">
<title>sample</title>
</head>
<body>
<?php
for($idx=0;!is_null($_POST["id".$idx]);$idx++) {
var_dump($_POST["id".$idx]);
var_dump($_POST["url".$idx]);
var_dump($_POST["name".$idx]);
echo "<br>";
}
?>
<form name="form1" method="post" action="dim.php">
<input type="text" name="id0" value="aa"><input type="text" name="url0" value="bb"><input type="text" name="name0" value="cc"><br>
<input type="text" name="id1" value="dd"><input type="text" name="url1" value="ee"><input type="text" name="name1" value="ff"><br>
<input type="submit" name="Submit" value="送信">
</form>
</body></html>
No.1
- 回答日時:
削除の手順は
1.テキストファイルを読み込む
2.削除したい行を除いてテキストファイルに上書き
書き換えの手順は
1.テキストファイルを読み込む
2.変更したい行を編集してテキストファイルに上書き
CSVファイルの件数が多くないなら、一度配列に全部入れちゃうのが楽だろうし。
CSVファイルの件数が多いなら中間ファイルを作って一件づつ処理するのがいいでしょう。
この回答への補足
<input name="id" type="text" value="$a"><input name="id" type="text" value="$b"><input name="id" type="text" value="$c">
がCSVの行数分だけ並んでいるので、
それを全部POSTして、配列に入れて、1行ずつcsvに戻して上書き保存するんだろうなぁということは見当が付くのですが、
こんなにたくさんあるフォームの$_POST[**]をどうやって1つずつCSVに戻せばいいのか分からないというか…
フォームが1行分なら、新規登録で
<form action="file.php" id="FORM1" method="post" NAME="FORM1">
<input name="id" type="text"><input name="url" size="100" /><input name="name" size="30" />
<br /><INPUT id=submit1 NAME=submit1 type=submit value=" 実行 "><INPUT id=reset1 NAME=reset1 type=reset value="リセット"></form>
<?php
$id = $_POST['id'];
$url = $_POST['url'];
$name = $_POST['name'];
$data = "\n".$id.",".$url.",".$name;
if ($data) {
$fp = fopen('link.csv', 'a');
fputs($fp, $data);
fclose($fp);
}
?>
というのを書いたので、これでできるのですが…
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript 入力フォームの javascript で メールアドレスの正規チェックをを行い、ボタンをクリックして 2 2022/04/27 16:06
- JavaScript ①入力フォーム→②確認表示画面→③送信完了画面のコードを書いているのです、 入力フォームから受け取っ 2 2022/05/10 16:45
- HTML・CSS ボタンをクリックした時に、入力フォームのすぐ下部に、「入力欄が空白です」というテキストメッセージが表 1 2022/04/27 16:25
- JavaScript フォームが空欄の時にフォームの外をクリックすると、エラーが出るコードを調べています。 1 2023/06/25 11:51
- JavaScript Javascriptを使ってQRコード読み取り、取得した情報をPOSTしたいと思っています。 1 2023/04/28 15:18
- JavaScript Javascriptが機能せず原因が分からないので教えて頂きたいです 3 2023/06/04 14:50
- HTML・CSS ただいま勉強始めたての初心者です。フォームを縦並べにしたいです。 2 2022/11/20 17:18
- JavaScript sessionStorageを調べています。 1 2023/06/20 12:41
- JavaScript 以前の質問だと、どの条件でも配列が表示されてしまいます。 1 2022/07/09 11:40
- PHP 入力した部分を表示させたまま(保持)するにはどうすれば良いでしょうか? 1 2023/01/25 11:14
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・【大喜利】【投稿~11/12】 急に朝起こしてきた母親に言われた一言とは?
- ・好きな和訳タイトルを教えてください
- ・うちのカレーにはこれが入ってる!って食材ありますか?
- ・好きな「お肉」は?
- ・あなたは何にトキメキますか?
- ・おすすめのモーニング・朝食メニューを教えて!
- ・「覚え間違い」を教えてください!
- ・とっておきの手土産を教えて
- ・「平成」を感じるもの
- ・秘密基地、どこに作った?
- ・【お題】NEW演歌
- ・カンパ〜イ!←最初の1杯目、なに頼む?
- ・一回も披露したことのない豆知識
- ・これ何て呼びますか
- ・チョコミントアイス
- ・初めて自分の家と他人の家が違う、と意識した時
- ・「これはヤバかったな」という遅刻エピソード
- ・これ何て呼びますか Part2
- ・許せない心理テスト
- ・この人頭いいなと思ったエピソード
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・あなたの習慣について教えてください!!
- ・ハマっている「お菓子」を教えて!
- ・高校三年生の合唱祭で何を歌いましたか?
- ・【大喜利】【投稿~11/1】 存在しそうで存在しないモノマネ芸人の名前を教えてください
- ・好きなおでんの具材ドラフト会議しましょう
- ・餃子を食べるとき、何をつけますか?
- ・あなたの「必」の書き順を教えてください
- ・ギリギリ行けるお一人様のライン
- ・10代と話して驚いたこと
- ・家の中でのこだわりスペースはどこですか?
- ・つい集めてしまうものはなんですか?
- ・自分のセンスや笑いの好みに影響を受けた作品を教えて
- ・【お題】引っかけ問題(締め切り10月27日(日)23時)
- ・大人になっても苦手な食べ物、ありますか?
- ・14歳の自分に衝撃の事実を告げてください
- ・架空の映画のネタバレレビュー
- ・「お昼の放送」の思い出
- ・昨日見た夢を教えて下さい
- ・ちょっと先の未来クイズ第4問
- ・【大喜利】【投稿~10/21(月)】買ったばかりの自転車を分解してひと言
- ・メモのコツを教えてください!
- ・CDの保有枚数を教えてください
- ・ホテルを選ぶとき、これだけは譲れない条件TOP3は?
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・【コナン30周年】嘘でしょ!?と思った○○周年を教えて【ハルヒ20周年】
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
HTMLで前の画面に戻る時、入力...
-
<input type="hidden" >で配列...
-
PHPでユーザー情報を入力して簡...
-
PHPで、ボタンを押すと同じペー...
-
【HTML(PHP?)】複数のフォーム...
-
DBの値をチェックボックスに反...
-
コードの何が間違っているのか...
-
チェックボックスによる検索(...
-
フォームへの前回入力値をクリ...
-
フォームボタンを押すたびに数...
-
PHPでチェックボックスの内容を...
-
チェックボックスの初期選択と...
-
チェックボックスによる検索
-
チェックボックスの必須項目指定
-
PHPで画像の渡しが上手く行きま...
-
PHPでクリックするたびに変数を...
-
PHPとHTML+Xamppの掲示板で画像...
-
phpの掲示板で新しい順に表...
-
同じページでフォームデータを...
-
<input type='checkbox'>要素で...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
HTMLで前の画面に戻る時、入力...
-
<input type="hidden" >で配列...
-
検索時の選択内容を保持する方法
-
PHP ボタンが押されたら処理を...
-
HTMLのリンクをクリックするこ...
-
フォームへの前回入力値をクリ...
-
PHPで画像の渡しが上手く行きま...
-
UPDATEの記述について
-
POSTデータのNAME属性をVALUEに...
-
ラジオボタンをsessionで使いたい
-
テキストボックスに初期値を入れる
-
画面が更新されてもチェックボ...
-
PHPでクリックするたびに変数を...
-
DBの値をチェックボックスに反...
-
同じページでフォームデータを...
-
smartyでチェックボックスをチ...
-
入力フォーム→確認画面→送信画...
-
チェックボックスによる検索(...
-
パラメーターを隠す
-
【PHPチェック】ラジオボタンが...
おすすめ情報