CGI-BBS > データベース > 簡易データベース > CSVエディタの改造でデータを入力した日時を表示したい。


カレッヂ
カレッヂ


質問者 an  投稿日 2005/8/31(水) 17:11:53
このCSVエディタではDATEの欄が手入力になっていますが
この日付自体を入力項目にいれず、新規登録でデータを入力した際
DATE欄に自動的に入力日・時刻が表示されるように変更したい場合は
どこをどのように変更すればいいでしょうか?

【習熟度】多少の設置経験

質問者 an  [削除]  投稿日 2005/9/1(木) 14:42:29
引き続きすみません。
あのあと
「CSVエディタの改造で各項目ごとに細かくアレンジしたい。 」
の部分から一部引用して

254行目あたりからの
		print <<"EOF";
		<tr>
		<th nowrap><font size=-1>$table[$num]</font></th>
		<td nowrap><font size=-2>$items[$num]</font></td>
		<td nowrap><input type=text name="key" value="$items[$num]" size=$size></td>
		</tr>
EOF

を

		print <<"EOF";
		<tr>
		<th nowrap><font size=-1>$table[$num]</font></th>
		<td nowrap><font size=-2>$items[$num]</font></td>
		<td nowrap>
EOF
		if($num == 1){    ←DATEが2列目なんで「$num == 1」にしました。
			print $date_now;
		}else{
			print "<input type=text name=\"key\" value=\"$items[$num]\" size=$size>";
		}
		print "</td></tr>";

にすることで入力時の日時が編集画面で表示されるようにはなりました。
しかしinput typeにしてないため、\n値として扱われなくなり
csvに項目として入らなくなってしまいました(涙


sub regist {

	local (@EDIT) = @_;

	if ($FORM{'action'} eq 'ADD') {

		@NEW = @BASE;
		$write = join ',', @EDIT;
		if ($rev) { unshift(@NEW,"$write\n"); }
		else { push(@NEW,"$write\n"); }
	}
	else {
		foreach $num (0 .. $#BASE) {


			if ($num == $FORM{'action'} && $FORM{'action'} ne 'ADD') {

				$write = join ',', @EDIT;
				$BASE[$num] = "$write\n";
			}
			push(@NEW,$BASE[$num]);
		}
	}
の部分がcsvに入力をするところだと思うのですが
この2列目のデータを\n値と切り離したまま、$date_nowとして入力したい場合
どうすればいいのでしょうか?
長々と申し訳ありませんが、どなたかお願いします。

返信(回答)する

 


Web裏技