掲示板に戻る




fsearchの各カテゴリを更新順に、検索結果のプルダウンメニューの各選択を適応するには 投稿者: annri
いつもお世話になっております。fsearchに関して二つほどご相談させていただきたくまいりました。


各カテゴリに登録されているサイト情報が上から登録が新しい順になっているようでして、こちらを各カテゴリをクリックした際に上から更新順にデフォルトで表示されるよう変更したいと考えています。

また、当方のサイトの閲覧者から、「各カテゴリ一覧の検索ボックスの隣にあるプルダウンメニュー(更新順や登録順の新しい/古い)が機能しておらず、どれを選んでも同じ順になってしまう」と報告があり、こちらでもテストしてみましたが同様の現象が確認できました。

お忙しいなかお手数おかけいたしますが、ご教授いただきますと幸いです。よろしくお願いいたします。



★登録サイト・更新サイトの表示順は現在も問題なく動作できている状況であり、過去にご質問させていただいた修正内容を適応した状態です。
参考URL:http://cgipal.com/cgi/webtree/main.cgi?action=res&;resno=28847

また、カテゴリリンクに関してですが、htmlにそのまま各カテゴリのリンクを貼って対応をしております(例:~fsearch/php/main.php?mode=search&ct=01_01)
No.288962023/11/5(Sun) 2:00:34 Res


Re: fsearchの各カテゴリを更新順に、検索結果のプルダウンメニューの各選択を適応するには 投稿者: えふ
更新順に表示する件ですが
search.phpの224行の
if($fo['order']){
     if($fo['order'] == 'kousin_desc'){
          $o_q=' ORDER BY kousin DESC';
     }
     else if($fo['order'] == 'kousin_asc'){
          $o_q=' ORDER BY kousin ASC';
     }
     else if($fo['order'] == 'touroku_desc'){
          $o_q=' ORDER BY touroku DESC';
     }
     else if($fo['order'] == 'touroku_asc'){
          $o_q=' ORDER BY touroku ASC';
     }
}

の下に
else{
     $o_q=' ORDER BY kousin DESC';
}
と追加してください。

同じ順になる件ですが手持ちのものではできているのですが
223行の
$o_q='';
の上に
$fo['order']="kousin_desc";
このようにつけたりしていませんか。
つけていれば削除してください。


No.288972023/11/6(Mon) 11:39:29 Res


Re^2: fsearchの各カテゴリを更新順に、検索結果のプルダウンメニューの各選択を適応するには 投稿者: anri
検証&ご教授頂きありがとうございます。

>search.phpの224行~の下からelse{$o_q=' ORDER BY kousin DESC';}と追加
こちらを追加しましたが、反映みられませんでした。
新着サイト、更新サイトのサイト情報の表示順は問題なく反映できているのですが、
各カテゴリ(サンプルにあるようなコンピュータ、パソコン、インターネット等)のリンクをクリックすると、そのカテゴリで登録しているサイトが登録の古い順に上から表示されているような状況です。


またプルダウンメニューの表示順についてですが、自己解決しました。
自分のhtmlを見直してみるとformタグ内にセレクトボックスタグが入ってらず、完全にこちらのミスでした…申し訳ありません。
223行の上に$fo['order']="kousin_desc";はつけておりませんでした。
No.288982023/11/7(Tue) 22:03:23 Res


Re^3: fsearchの各カテゴリを更新順に、検索結果のプルダウンメニューの各選択を適応するには 投稿者: えふ
元に戻して
239行の
$ary=array();
の上に
$o_q=' ORDER BY touroku DESC';
と追加するとどうなりますか。
登録の新しい順に並ぶはずなのですが。
No.288992023/11/10(Fri) 11:15:21 Res


Re^4: fsearchの各カテゴリを更新順に、検索結果のプルダウンメニューの各選択を適応するには 投稿者: anri
検証を重ねご教授頂きありがとうございます。
ご教授頂いた内容で二つとも適応してみましたが、やはりやはり各カテゴリリンクから飛んだ時のサイト一覧は、デフォルトで上から登録が古い順からのままです…

数日私の方でもチェックし、「htmlのコードで何か削除してしまったかも」と思い見てみましたところ、
検索メニュー側の『このカテゴリから/全体から』部分を削ってしまっていたことに気づき、こちらを修正しました。
各プルダウンメニューも試してみましたら更新・新規登録の新/旧順すべて動作はできております。
原因がわからず…申し訳ありません
No.289002023/11/14(Tue) 17:13:22 Res


Re^5: fsearchの各カテゴリを更新順に、検索結果のプルダウンメニューの各選択を適応するには 投稿者: えふ
search.phpの
223行あたりの
$o_q='';
の上に
print_r($fo);
と追加すると
ページの上のほうに
Array ( [mode] => category [ct] => 01 )
のようにでるはずなのですがそれはでますか。
No.289012023/11/15(Wed) 10:55:34 Res


Re^6: fsearchの各カテゴリを更新順に、検索結果のプルダウンメニューの各選択を適応するには 投稿者: anri
$o_q='';の上にprint_r($fo);を追加してみたところ、サイト一覧の「Array ( [mode] => category [ct] => 01 )」と表示できました。



また、一旦試しにもう一度search.phpのご教授頂いた内容をもとに戻してみたところ(検索メニュー側の『このカテゴリから/全体から』を修正した状態です)
各カテゴリページにおいて、登録の新しい順に上からデフォルトで表示できるようになりました。
ですが、IDの数字の大きい順に表示されている状態なので、各カテゴリページでは更新順に表示はできていない状態です。


以前ご教授頂いた、search.phpの223~224行目を改造した内容(下記)を追加してもう一度試してみましたが、
やはり登録の古い順から表示されるようになり、元に戻しました。

$o_q='';
if($fo['order']){
     if($fo['order'] == 'kousin_desc'){
          $o_q=' ORDER BY kousin DESC';
     }
     else if($fo['order'] == 'kousin_asc'){
          $o_q=' ORDER BY kousin ASC';
     }
     else if($fo['order'] == 'touroku_desc'){
          $o_q=' ORDER BY touroku DESC';
     }
     else if($fo['order'] == 'touroku_asc'){
          $o_q=' ORDER BY touroku ASC';
     }
}
else{
$o_q=' ORDER BY kousin DESC';
}


何度もお手数おかけしてすみません…。
No.289022023/11/15(Wed) 21:37:18 Res


Re^7: fsearchの各カテゴリを更新順に、検索結果のプルダウンメニューの各選択を適応するには 投稿者: えふ
267行の
$stmt=$o_db->SetPH("SELECT * FROM data$c_q$o_q",$pdo);
の上に
$o_q=' ORDER BY touroku DESC';
と追加するとどうなりますか。
または、
$o_q=' ORDER BY touroku ASC';
と追加するとどうなりますか。
No.289032023/11/18(Sat) 10:47:57 Res


Re^8: fsearchの各カテゴリを更新順に、検索結果のプルダウンメニューの各選択を適応するには 投稿者: anri
本当に何度も何度も対応いただき申し訳ないです…。ありがとうございます。

両方とも試してみました。試しに自分でテスト登録もしてみて検証しましたが、
どちらともカテゴリページ内で、サイト情報を更新してみても上から登録順の新しい順になっていたり、更新順がばらばらになった状態で表示されたりといったかんじになってしまいました。

また、以前こちらで、登録情報を修正時に更新サイト一覧に表示するかどうかを選べる改造のご相談をさせて頂いていたので(http://cgipal.com/cgi/webtree/main.cgi?action=res&;resno=28847)
修正ページで更新情報を上げない・上げる両方とも選択して更新してみましたが、更新サイト一覧にはどちらとも反映できていましたが、各カテゴリページでは変わらないような状態でした…。


色々うまくいかない理由を考えてみたのですが・・・
・skin/form.html、check.htmlのところから、商品画像のURL・管理人へのメッセージ・リンクの箇所・メルマガ・都道府県の部分を消したこと
こちらが原因かな?とも思ったのですが、消しても登録はできたし、サイト情報自体も問題なく表示できていました。

No.289042023/11/21(Tue) 0:35:28 Res


Re^9: fsearchの各カテゴリを更新順に、検索結果のプルダウンメニューの各選択を適応するには 投稿者: えふ
登録時間ではなくて更新時間でした。
すいません。
267行の
$stmt=$o_db->SetPH("SELECT * FROM data$c_q$o_q",$pdo);
の上に
$o_q=' ORDER BY kousin DESC';
と追加するとどうなりますか。

あと、
https://cgipal.com/test/fsearch.zip
こちらのファイルをダウンロードして解凍すると
test.phpとmakedb.phpができますので
test.phpを
php/admin.phpと同じ階層に
makedb.phpを
php/lib/admin/adregist.phpと同じ階層にアップロードして
ブラウザで
test.phpにアクセスして

データベース名
access
data
jump

と表示されたら
dataの右の「テーブル登録」をクリックして
「確認」をクリックすると
登録データが表示されますので
一番右のkousinが更新時間の数字ですので
登録データの更新時間を見て数値の上下は問題ないかみてください。
No.289062023/11/21(Tue) 17:27:57 Res


Re^10: fsearchの各カテゴリを更新順に、検索結果のプルダウンメニューの各選択を適応するには 投稿者: anri
各カテゴリページでの表示について
■267行あたりの$stmt=$o_db->SetPH("SELECT * FROM data$c_q$o_q",$pdo);
の上に$o_q=' ORDER BY kousin DESC';
→登録が古い順(IDが古い順)で上からサイト情報が表示される

$o_q=' ORDER BY kousin DESC';を付け加える前は、登録が新しい順(IDの数字が大きい順)で上から表示されていました。


テストファイルもご用意していただいてありがとうございます。
ダウンロードさせて頂き、ご教授頂いたとおりにアップロードをしてみましたが、
該当のtest.phpにアクセスすると

「Fatal error: Uncaught Error: Class 'CF' not found in /home/●●/pub/php/lib/admin/makedb.php:10 Stack trace: #0 /home/●●/pub/php/test.php(139): MakeDB->Top(Array) #1 {main} thrown in /home/●●/pub/php/lib/admin/makedb.php on line 10」

と表示されてしまいました(●●は私の借りているレンタルサーバーでのIDの名前です)
No.289072023/11/23(Thu) 22:07:57 Res


Re^11: fsearchの各カテゴリを更新順に、検索結果のプルダウンメニューの各選択を適応するには 投稿者: えふ
付け加えた
$o_q=' ORDER BY kousin DESC';

$o_q=' ORDER BY kousin ASC';
とするとどうなりますか。

test.phpの件は
makedb.phpの5行目の
Class MakeDB{
の上に

Class CF{

static $dbdir='./log/db/';
static $ascript='';
}

と追加してください。

No.289082023/11/25(Sat) 12:56:22 Res


Re^12: fsearchの各カテゴリを更新順に、検索結果のプルダウンメニューの各選択を適応するには 投稿者: anri
> 付け加えた
> $o_q=' ORDER BY kousin DESC';
> を
> $o_q=' ORDER BY kousin ASC';
> とするとどうなりますか。

こちらで書き換えて反映してみましたところ、各カテゴリページで表示順が上から更新順に表示することができました!
重ね重ねですが、何度もこちらの要望に対応いただき、頭が下がらない思いです…。
本当にありがとうございました。
No.289092023/11/28(Tue) 23:48:44 Mail Res