2

ユーザーがデータベースから結果をフィルタリングするのに役立つ検索フォームを作成しようとしています。

ドロップダウン リストから選択したオプションに従って、結果をどのように並べ替えますか?

つまり、ユーザーがリストから「名前」を選択し、送信を押すと、テーブルにすべてのデータが表示されますが、名前は昇順または降順で並べ替えられます (これもユーザー オプション)。

フォーム (ドロップダウン リストとラジオ ボタンのサンプル):

<select name="sort">
    <option value="x">Select a field</option>
    <option value="1">Name</option>
    <option value="2">City</option>
    <option value="3">Occupation</option>
</select>
&nbsp;
ascending<input type="radio" name="sort_order" value="asc">
&nbsp;
descending<input type="radio" name="sort_order" value="desc">

クエリ:

if ($sort !== "x")
$SQL="SELECT * FROM data //what do I add here?//

これを達成する最も効率的な方法は何ですか? どんな助けでも大歓迎です!
質問の言い方がよくわからないので、明確でない場合はお気軽にお尋ねください。

編集:

$value()テーブルにデータを表示するために配列を使用しています。

サンプル表示:

for ($i=0;$i<$num_results;$i++)
        {
        $row=mysql_fetch_array($result);
        echo "<tr>";
        echo "<td>".$row["Name"]."</td>";
        if (in_array("City",$value))
        echo "<td>".$row["City"]."</td>";
           if (in_array("Occupation",$value))
           echo "<td>".$row["Occupation"]."</td>";

$sortmyとの結果$sort_orderをに保存するにはどうすればよい$value()ですか?

4

2 に答える 2

1
mysql_query("select * from data order by ".mysql_real_escape_string($_POST['sort'])." ".mysql_real_escape_string($_POST['sort_order']));

このようにSQLクエリを書きます

于 2012-05-18T03:39:42.683 に答える
0
$sort = mysql_real_escape_string($_POST['sort']);
$sort_order = mysql_real_escape_string($_POST['sort_order']);
$SQL="SELECT * FROM data ORDER BY $sort $sort_order";
于 2012-05-18T03:37:47.413 に答える