0

皆さんはおそらく私の質問を理解していないでしょう。さらに説明しようと思います。

名前、ID、価格、数量などの製品情報を表示するサイトがあります。 $_GET 変数を使用して表示しました。

たとえば、製品ページをクリックしたい場合、リンクは次のようになります

http://localhost/InventorySystem/Employee/Tools/?Item=ProductList

必要なのはgetメソッドだけで、製品情報を表示するために別のphpページを作成する必要はありません。

今私の問題は、検索機能を実装するにはどうすればよいですか? 次のような検索機能を作成する方法はありますか

?Item=ProductList&Search=SearchTerm

どうしようか悩んでいます。アドバイスをお願いします。

4

3 に答える 3

1

基本的に、例で示したように、クエリ文字列に別の変数を追加します?Item=ProductList&Search=SearchTerm。値を取得してmysqlに渡し、次のように複合された句$_GET['Search']を使用してフィルターを実装するだけです。WHERELIKE

$searchkey = $_GET['Search'];
$result = mysql_query("SELECT * FROM table WHERE column LIKE '%".$searchkey."%'");

これにより、渡された用語を含む結果が返されます。$searchkeyたとえば、すべての有効な一致がある場合です$searchkey = "ball"volleyball, basketball, baller, basketballvolley

編集:

クエリ文字列で必要なパラメーターを渡すことができるようにするには、html フォームは次のようになります。

<form method="GET">
<input type="hidden" name="Item" value="ProductList" />
Search: <input type="text" name="Search" />
<input type="submit" value="submit" />
</form>
于 2012-07-01T06:07:19.807 に答える
0

SQL ステートメントを使用して、このページの製品を照会しているだけだと思います。

パラメータが存在するisset($_GET['Search'])かどうかを確認します。Searchそうであれば、SQL ステートメントに何らかの条件を追加します ( where ... = ...)。ただし、 SQL インジェクションを回避するために、クエリのサニタイズに注意してください。

コード例:

$query = "select * from products";
if (isset($_GET['Search']))
  $query .= " where somefield=?";

$mysqli->prepare($query....);
于 2012-07-01T05:39:41.490 に答える
0

おそらくこれのいくつかのバリエーションになります:

<!DOCTYPE html>
<html>
  <body>
<?php
if (isset($_GET['search'])) {
  // Perform the search, probably against a back-end database.
  // For purposes of this pseudocode, I'll assume you store the results in a
  // variable named $search_result that is an array of associative arrays
  // with fields 'id' and 'name'.
?>
    <p style="font-weight: bold;">Search Results</p>
    <table>
    <?php foreach ($search_result as $result): ?>
      <tr>
        <td><a href=$base_url."/Item="<?= urlencode($result['id']) ?>">
          <?= htmlentities($result['name']) ?></a></td>
      </tr>
    </php endforeach; ?>
    </table>
<?php } ?>

  <!-- stuff you display whether page is searched or not goes here -->
  </body>
</html>
于 2012-07-01T05:43:09.960 に答える