トピック このトピックに返信する
TOPIC 登録日時による検索
Posted by 島本
at 2010/08/11(水) 14:17
分類: カスタマイズトラブル

お世話になっております。
島本です。

登録日時指定による検索を行いたいのですが、どのように行えばよいかわかりません。

検索方法としては既存のRTime(登録日時)を使用して
日付(例えば 2010年8月11日)で検索できるようにしたいです。

RTimeを使用できないとなると
新たに登録日付のデータ追加となりますが、その方法は今まで登録した全データ修正となるため避けたいです。

どなたかご教授願います。

編集: 2010/08/11(水) 14:25
トピック このトピックに返信する
レス表示 古い順 新しい順 | 4件のレス 1-4 表示中
RES レスメッセージ
Posted by Bear
at 2010/08/17(火) 13:57
Re:登録日時による検索
> No4303への引用返信
> お世話になっております。
> 島本です。
>
> 登録日時指定による検索を行いたいのですが、どのように行えばよいかわかりません。
>
> 検索方法としては既存のRTime(登録日時)を使用して
> 日付(例えば 2010年8月11日)で検索できるようにしたいです。
>
> RTimeを使用できないとなると
> 新たに登録日付のデータ追加となりますが、その方法は今まで登録した全データ修正となるため避けたいです。
>
> どなたかご教授願います。

こんにちは。
検索時のみ疑似的に「RTime2」データ種類を追加する方法で可能かと思います。
db-s.cgiのSearchサブルーチンを修正します。
 while(<SEARCH>){ $found=1;
     ($FORM{SearchMax} and @HitNums>=$FORM{SearchMax}) and last;
     my@tmp=split(/<>/,$_);
+    $tmp[$REC{$FORM{Tfile}}{RTime2}]=&GetDate($tmp[$REC{$FORM{Tfile}}{RTime}],'{yyyy}/{mm}/{dd}');
     if($FORM{Tfile} eq 'User'){
         $tmp[$REC{User}{Pass}]='';
この修正で、検索時にデータが読みだされたときに「RTime2」というデータ種類に登録日が「yyyy/mm/dd」と代入されます。
あとは検索ページで「RTime2」へマッチ検索を行えばご希望の検索が出来るかと思います。
Posted by 島本
at 2010/08/19(木) 14:39
Re:登録日時による検索
> No4307への引用返信
>> No4303への引用返信
>> お世話になっております。
>> 島本です。
>>
>> 登録日時指定による検索を行いたいのですが、どのように行えばよいかわかりません。
>>
>> 検索方法としては既存のRTime(登録日時)を使用して
>> 日付(例えば 2010年8月11日)で検索できるようにしたいです。
>>
>> RTimeを使用できないとなると
>> 新たに登録日付のデータ追加となりますが、その方法は今まで登録した全データ修正となるため避けたいです。
>>
>> どなたかご教授願います。
>
> こんにちは。
> 検索時のみ疑似的に「RTime2」データ種類を追加する方法で可能かと思います。
> db-s.cgiのSearchサブルーチンを修正します。
>  while(<SEARCH>){ $found=1;
> ($FORM{SearchMax} and @HitNums>=$FORM{SearchMax}) and last;
> my@tmp=split(/<>/,$_);
> + $tmp[$REC{$FORM{Tfile}}{RTime2}]=&GetDate($tmp[$REC{$FORM{Tfile}}{RTime}],'{yyyy}/{mm}/{dd}');
> if($FORM{Tfile} eq 'User'){
> $tmp[$REC{User}{Pass}]='';
> この修正で、検索時にデータが読みだされたときに「RTime2」というデータ種類に登録日が「yyyy/mm/dd」と代入されます。
> あとは検索ページで「RTime2」へマッチ検索を行えばご希望の検索が出来るかと思います。

Bearさん
ご返信ありがとうございます。

上記のように編集したところ
検索結果がすべて同一のデータ表示になっていしまいました。
検索条件に該当するデータ数はあっています。

例えば「 A B C 」のデータが検索に引っかかっているが
すべて「 C C C 」と表示されてしまいます。

何回か検索を試したところ、検索された中で一番新しい(登録日が最新の)データに書き変わってしまうようです。
 
また、データごとに詳細情報リンクを表示しているのですが、リンクURLが
database.cgi?cmd=j&DataNum=1970/01/01
となっています。

どういったことが原因なのかわかりません。
よろしくお願いいたします。

編集: 2010/08/19(木) 14:46
Posted by Bear
at 2010/08/31(火) 23:33
Re:登録日時による検索
こんばんは。
お返事が遅くなりました。

> database.cgi?cmd=j&DataNum=1970/01/01

とのことなので、「Rtime」自体の日付データが取得できてないようですね。
前回お返事させて頂いた中の「$FORM{Tfile}」を「User」もしくは「Data」として再度お試し頂けますでしょうか?
Posted by 島本
at 2010/09/27(月) 11:36
Re:登録日時による検索
Bearさん

お世話になっております。島本です。

御返事大変遅くなりまして申し訳ございません。

> 前回お返事させて頂いた中の「$FORM{Tfile}」を「User」もしくは「Data」として再度お試し頂けますでしょうか?
とのことでしたので、


$tmp[$REC{Data}{RTime2}]=&GetDate($tmp[$REC{Data}{RTime}],'{yyyy}/{mm}/{dd}');



$tmp[$REC{$FORM{Data}}{RTime2}]=&GetDate($tmp[$REC{$FORM{Data}}{RTime}],'{yyyy}/{mm}/{dd}');

の両方試しましたが、残念ながら結果は同じく、
検索結果がすべて「C C C」となってしまいました。

編集: 2010/09/27(月) 11:42
Access: 1,221,727
 
ソーシャルブックマーク: Yahoo!ブックマーク Google Bookmarks はてなブックマーク Livedoorクリップ @niftyクリップ FC2ブックマーク Buzzurl Delicious トピックイット newsing it!