0 レビュー
2 回答
javascript-Mysql php複数選択、並べ替え
こんにちは、私は初心者で、これを何時間も解決しようとしています。オプションを選択すると、URLが次のようになります。
category.php?cat_id=122&sort=BOOK_ID+ASC
このコードで試しています
<form name=\"myform\" \">
<select name=\"sort\" id=\"sort\" style=\"float: right;\" onChange=\"document.myform.submit();\">
<option value=\"car_ID desc&cat_id=$_GET[cat_id]\">cars desc</option>
<option value=\"car_ID ASC&cat_id=$_GET[cat_id]\">cars asc</option>
</select>
</form><p>";
$sort="$_GET[sort]";
$stm = "SELECT *
FROM cars
where cat_id=$_GET[cat_id]
ORDER BY $sort";
しかし、結果は次のとおりです。 category.php?sort=car_id+ASC%26cat_id%3D122
助けてください...
わからない
0
レビュー
答え :
解決策:
次のことを行います:
<form name=\"myform\" \">
<input type=\"hidden\" name=\"cat_id\" value=\"$_GET['cat_id']\">
<select name=\"sort\" id=\"sort\" style=\"float: right;\" onChange=\"document.myform.submit();\">
<option value=\"car_ID desc\">cars desc</option>
<option value=\"car_ID ASC\">cars asc</option>
</select>
</form><p>";
$sort="$_GET[sort]";
$stm = "SELECT *
FROM cars
where cat_id=$_GET[cat_id]
ORDER BY $sort";
ここにいくつかの注意事項があります。まず、これはまったく安全ではありません。 get変数に「;DROPTABLE...」などを簡単に入れることができます。第二に、おそらくGETをまったく使用したくないでしょう。代わりに、すべてのフォーム入力をPOSTで処理します。
わからない
0
レビュー
答え :
解決策:
問題はここにあります:
<option value=\"car_ID desc&cat_id=$_GET[cat_id]\">cars desc</option>
おそらく必要なもの:
<option value=\"cat_id=$_GET[cat_id]&car_ID desc\">cars desc</option>
そうは言っても、変数car_IDがどこから来ているのかわかりません。また、car_IDと'desc'の間にスペースがあると、URLに問題が発生します。
わからない
同様の質問
私たちのウェブサイトで同様の質問で答えを見つけてください。