-1

私は基本的にウェブサイトを作成しており、それは携帯電話を販売するサイトです。PHP を使用して、モデル、ブランド、画面サイズなどで電話を並べ替えることができるドロップダウン ボックスを作成する方法を見つける必要があります (フィールドは既に SQL データベースにあります)。これを行う最も簡単な方法は何ですか?私はPHPにまったく慣れていないため、どうすればよいかわかりません。

4

2 に答える 2

2

MySQLクエリで並べ替えを処理します。

SELECT * FROM <<table>> ORDER BY 'Brand' DESC

次に、ページで結果を呼び出します。クエリはサーバー側と呼ばれるため、javascript(ユーザー側)を介してクエリを並べ替えることはできません。

于 2013-01-15T17:09:24.743 に答える
1

$_GET変数を使用してそれを実現できます。このようなもの

<?php
  // Let's say that my products category is a $_GET variable
  $category_id = isset($_GET['category_id']) && is_numeric($_GET['category_id']) ? $_GET['category_id'] : 1; // where 1 is a default category to show!
?>

<select onchange="if(this.value != '') document.location = '/my-phones-category.php?category_id=<?php echo $category_id; ?>&order_by=' + this.value">
  <option value="">Choose an option</option>
  <option value="model"<?php if(isset($_GET['order_by']) && $_GET['order_by'] == 'model') echo ' selected="selected"'; ?>>Model</option>
  <option value="brand"<?php if(isset($_GET['order_by']) && $_GET['order_by'] == 'brand') echo ' selected="selected"'; ?>>Brand</option>
</select>

次に、正しい順序を追加するクエリを作成する方法を確認する必要があります

<?php
  switch($_GET['order_by']) {
    case 'model':
      $order_by = " ORDER BY products.product_model";
      break;
    case 'brand':
      $order_by = " ORDER BY products.product_brand";
      break;
    default:
      $order_by = " ORDER BY products.product_price";
  }

  // Now we have the order and we can make the query

  $sql = $mysqli->query("SELECT product_name, product_price 
                         FROM products
                         WHERE category_id='" . $category_id . "'
                         $order_by");
?>

幸運を!

于 2013-01-15T17:13:56.450 に答える