我想从我的数据库中提取一些结果,然后用户可以单击排序按钮来决定它是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']";
}
?>