PHP使用查询更改订单和价格过滤器

PHP使用查询更改订单和价格过滤器,php,Php,我正在为我的网站设计一个过滤器,似乎我的逻辑已经用完了! 我设法根据所选单选按钮对项目的顺序进行排序,但我不知道如何整合价格输入(从:\到:\) 在index.php中: $price_range =''; if(isset($_POST['submit'])){ $lowest_price = $_POST['lowest_price']; $highest_price = $_POST['highest_price']; $price_range = "`price`

我正在为我的网站设计一个过滤器,似乎我的逻辑已经用完了! 我设法根据所选单选按钮对项目的顺序进行排序,但我不知道如何整合价格输入(从:\到:\)

在index.php中:

$price_range ='';
if(isset($_POST['submit'])){
    $lowest_price = $_POST['lowest_price'];
    $highest_price = $_POST['highest_price'];
    $price_range = "`price` BETWEEN LIKE '%" .$lowest_price."%' AND LIKE '%" .$highest_price."%'";
                    }

    $order_list=(isset($_POST['order_list']))?$_POST['order_list']:'';                      
switch($order_list) {
    case "link1":   $order_list_sql = "ORDER BY `date` DESC";       break;
    case "link2":   $order_list_sql = "ORDER BY `price` ASC";       break;
    case "link3":   $order_list_sql = "ORDER BY `price` DESC";      break;
    case "link4":   $order_list_sql = "ORDER BY `id` DESC";         break;
    default:        $order_list_sql = "ORDER BY `date` DESC";   
                    }

$res =  mysql_query("SELECT * FROM `classifieds` ".$order_list_sql."    LIMIT 10");
在form.php中:

<form action="index.php" method="post" enctype="multipart/form-data">
    <li>Ad Order
        <ul>
            <li>
                <label>
                    <input type="radio" name="order_list" value="link1" <?php echo (isset($_POST[ 'order_list'])=='link1' ? 'checked': '')?>>Newest First</label>
            </li>
            <li>
                <label>
                    <input type="radio" name="order_list" value="link2" <?php echo (isset($_POST[ 'order_list'])=='link2' ? 'checked': '')?>>Lowest Price First</label>
            </li>
            <li>
                <label>
                    <input type="radio" name="order_list" value="link3" <?php echo (isset($_POST[ 'order_list'])=='link3' ? 'checked': '')?>>Highest Price First</label>
            </li>
            <li>
                <label>
                    <input type="radio" name="order_list" value="link4" <?php echo (isset($_POST[ 'order_list'])=='link4' ? 'checked': '')?>>Nearest First</label>
            </li>
        </ul>
    </li>
    <li>Price
        <ul>
            <li>From: $
                <input type="text" placeholder="0.00" size="8" name="lowest_price" value="<?php if(isset($_POST['lowest_price'])) { echo $_POST['lowest_price']; } ?>">
            </li>
            <li>To: $
                <input type="text" size="8" name="highest_price" value="<?php if(isset($_POST['highest_price'])) { echo $_POST['highest_price']; } ?>">
            </li>
        </ul>
    </li>
    <input type="submit" value="Save">
</form>

将$price\u范围更改为:

$price_range = "WHERE price BETWEEN ".$lowest_price." AND ".$highest_price." ";
将$res更改为

$res =  mysql_query("SELECT * FROM classifieds ".$price_range." ".$order_list_sql."    LIMIT 10");

让我知道结果。

如果可以,最好使用
mysqli
函数而不是
mysql
,因为最后一个函数是不推荐的,请修复SQL注入漏洞!这根本不是一个安全的方法!看看linkI,我以前试过,但它给了我错误。目前,每次我更改订单时,订单选择单选按钮都不会被选中,即使我指定要选中它。现在它总是选中订单列表中的最后一个选项
$res =  mysql_query("SELECT * FROM classifieds ".$price_range." ".$order_list_sql."    LIMIT 10");