PHP SORT BY value


PHP SORT BY value

我想从我的数据库中提取一些结果,然后用户可以单击排序按钮来决定它是ASC还是DESC。我在这里研究了一些其他响应,并查看了"usort",但似乎与我的代码无关。也许是因为地雷很基本。

我的PHP看起来像:

if($_GET['sort_by'] == "pricelow") {
$vehicle_list_query .= " ORDER BY vehicle.price ASC"; } else if($_GET['sort_by'] == "pricehigh") {
$vehicle_list_query .= " ORDER BY vehicle.price DESC"; }

我的代码看起来像:

 <select name="sort_by">
            <option selected="selected">Sort by:</option>
            <option value="pricelow" <?php if (!(strcmp("pricelow", $vehicle_list_query))) {echo "selected='"selected'"";} ?>>Low</option>
            <option value="pricehigh" <?php if (!(strcmp("pricehigh", $vehicle_list_query))) {echo "selected='"selected'"";} ?>>High</option>
          </select>

希望这是非常清楚的,任何关于主题或链接的信息都将是最有帮助的。干杯伙计们

到目前为止,您的代码看起来不错。它可能会缩短一点,但你所拥有的应该有效。现在你只需要显示结果:

$sqllink = mysqli_connect("db","user","password","database");
$result = mysqli_query($sqllink, $vehicle_list_query;
while ($row = mysqli_fetch_assoc($result)
{
    echo "<tr>";
    echo "<td"> . $row['car_name_column'] . "</td">;
    echo "<td>" . $row['car_price_variable'] . "</td>";
    echo "</tr>";
}
mysqli_close($sqllink);
<?php
if($_GET['sort_by'] == "pricelow") {
    $vehicle_list_query .= " ORDER BY vehicle.price ASC";
} else if($_GET['sort_by'] == "pricehigh") {
    $vehicle_list_query .= " ORDER BY vehicle.price DESC";
}
?>
<select name="sort_by">
    <option <?php if(!isset($_GET['sort_by'])) { echo"selected='"selected'"" } ?>>Sort by:</option>
    <option value="pricelow" name="pricelow" <?php if($_GET['sort_by'] == "pricelow") { echo "selected='"selected'"";} ?>>Low</option>
    <option value="pricehigh" name="pricehigh" <?php if($_GET['sort_by'] == "pricehigh") { echo "selected='"selected'"";} ?>>High</option>
</select>

这应该有效。。你能给我们看看$vehicle_list_query的其余部分吗?

您可以将代码重写为,

      <select name="sort_by">
            <option selected="selected">Sort by:</option>
             <option value="asc" <?php if (!(strcmp("asc", $vehicle_list_query))) {echo "selected='"selected'"";} ?>>Low</option>
             <option value="desc" <?php if (!(strcmp("desc", $vehicle_list_query))) {echo "selected='"selected'"";} ?>>High</option>
      </select>

PHP:

         <?php               
             if(isset($_GET['sort_by'])) {
                $vehicle_list_query .= " ORDER BY vehicle.price $_GET['sort_by']";
             }
         ?>