Php价格asc函数不工作
我试图用php做价格升序或降序过滤,但它不起作用。谁能帮我修一下吗?谢谢Php价格asc函数不工作,php,mysql,Php,Mysql,我试图用php做价格升序或降序过滤,但它不起作用。谁能帮我修一下吗?谢谢 <select name='sort'> <option value='ASC'> Price Low to High </option> <option value='DESC'> Price High to Low </option> </select> <?php $query = 'SELECT prd_price FROM prod
<select name='sort'>
<option value='ASC'> Price Low to High </option>
<option value='DESC'> Price High to Low </option>
</select>
<?php
$query = 'SELECT prd_price FROM products ORDER BY '.$_REQUEST['sort'];
$run_query = mysqli_query($con,$query);
$row = mysqli_fetch_array($run_query);
?>
价格由低到高
价格由高到低
你不能这样做。原因您的选择
未被处理
当您阅读关于$\u REQUEST
的php时,您会看到它只处理$\u POST
、$\u GET
和$\u COOKIE
的值
如果你想让它工作,你可以这样做:
<form method="post">
<select name="sort">
<option value="asc">Price Low to High</option>
<option value="desc">Prive High to Low</option>
</select>
<input type="submit" value="Sort">
</form>
<?php
// check if the server recieved a post:
if ($_SERVER['REQUEST_METHOD'] == "POST") {
if (isset($_POST['sort'])) {
if ($_POST['sort'] == "asc") {
$query = "SELECT prd_price FROM products ORDER BY prd_price ASC";
} else {
$query = "SELECT prd_price FROM products ORDER BY prd_price DESC";
}
}
// execute query here.
}
?>
价格由低到高
从高到低
并尽量避免使用易受攻击的代码。您应该通过或驱动程序将准备好的语句与绑定参数一起使用。有一些很好的例子。你不知道哪里出了问题,因为你没有检查代码中的错误。永远不要假设代码总是能够完美地工作。用于从数据库中获取详细的错误消息。您的SQL查询实际上并没有指明要对哪个字段进行排序。我对mysql的内容非常感兴趣,抱歉,伙计们……谢谢,但当我单击“排序”按钮时,产品会被随机排序。提供的SQL查询是正确的,请参阅。你能提供一些关于你的数据库结构的更多信息吗?