掲示板に戻る




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