0

MySQL テーブルから引き出されたテーマ パークのリストがあります。デフォルトのクエリは

try
{
$sql = 'SELECT park_id, name, town, state, country
FROM tpf_parks ORDER BY name ASC';
$result = $pdo->query($sql);
}
catch (PDOException $e)
{
$error = 'Error fetching parks: ' . $e->getMessage();
//include 'error.html.php';//
exit();
}

名前ASCでソートします。この上に、州と国 (および最終的には評価) でリストを並べ替えるリンクが必要です。また、テーマ パークのみ、ウォーター パークのみ、「その他」および「すべて表示」のみを表示するリンクも必要です。

私が見ている方法は、クエリごとに新しいphpページが必要ですが、それはクエリごとに1つずつ、16の異なるPHPページを意味します。すべてを 1 ページで保持する方法はありますか? 16 個のクエリがすべて 1 ページで実行され、リンクをクリックすると、古いリストを置き換える新しく並べ替えられたリストが読み込まれますか?

これに加えて、リンクのAZも必要です.1つをクリックすると、ソート方法の文字にページがジャンプします。たとえば、テーマパークリストは州ごとにソートされ、「K」をクリックするとページが公園にジャンプしますカンザス。HTMLアンカーを使用してこれらのリンクを考えていましたが、結果を26個のチャック(AZの各文字に1つずつ)にエコーするにはどうすればよいですか。

長い質問で申し訳ありませんが、困惑しています。ありがとう

4

3 に答える 3

0

スクリプトを介して出力するためだけにソート機能を使用する方が良いかもしれません。( http://tablesorter.com/など)

于 2013-04-04T20:45:56.460 に答える
0

この機能を試してください:

   function getQueryOrder($field,$order){
      $query="";
      switch ($field){
         case "park_id":
             $query="SELECT park_id, name, town, state, country FROM tpf_parks ORDER BY park_id ".$order;
             break;
         }
         case "name":
             $query="SELECT park_id, name, town, state, country FROM tpf_parks ORDER BY name ".$order;
             break;
         }
         case [Other-field]:
             ..... 
             break;
         }
      }
      return $query;
   }

そしてそれを使用します:

try{
   $sql = getQueryOrder('park_id','ASC');// select the field park_id and order ASC
   $result = $pdo->query($sql);
}
于 2013-04-04T21:02:57.057 に答える