0

私はプログラミングにまったくの初心者で、過去 10 日間かそこらで、物事の「売買」ウェブサイトを構築してきました。

とにかく、私は今、人々が登録し、広告を投稿し、それらに返信できるようになりました...しかし、今は広告を検索できるページが必要です.

検索フォームは、「make」、「model」、「caliber」の 3 つのフィールドで機能します (サイトは銃用です)。

    <form action="" method="get" autocomplete="off">
I'm looking for a 
<input type="text" name="make" class="autosuggestmake" placeholder="Manufacturer"/>
        <div class="dropdown">
            <ul class="resultmake"></ul>
        </div>

<input type="text" name="model" class="autosuggestmodel" placeholder="Model"/>
        <div class="dropdown">
            <ul class="resultmodel"></ul>
        </div>
in
<select name="caliber" >
    <option value="*">(Caliber) Any</option>
    <option value=".177">.177</option>
    <option value=".20">.20</option>
    <option value=".22">.22</option>
    <option value=".25">.25</option>
</select>
<input type="submit" value="Search" />

これは、次のコードで「キャッチ」する GET データとして投稿されます。

    $advert = new Advert;
    if (empty($_GET) === true){
$adverts = $advert->fetch_all();
    } else {
$search_make = $_GET['make'];
$search_model = $_GET['model'];
$search_caliber = $_GET['caliber'];

$adverts = $advert->fetch_results($search_make, $search_model, $search_caliber);
    }

私の fetch_results クエリは次のとおりです。

    class Advert {
public function fetch_results($search_make, $search_model, $search_caliber) {
    global $pdo;

    $search_caliber = mysql_real_escape_string($search_caliber);
    $search_make = mysql_real_escape_string($search_make);
    $search_model = mysql_real_escape_string($search_model);

    if (empty($search_make) === true){
        $search_make = "*";
    } 

    if (empty($search_model) === true){
        $search_model = "*";
    } 

    $query = $pdo -> prepare("SELECT * FROM `adverts` WHERE make = '$search_make' AND model = '$search_model' AND caliber = '$search_caliber'");
    $query -> execute();

    return $query -> fetchAll();
}

私の最後の質問で、誰かが私に PDO を使い始めるように言ったので、私はそうしました :)

私の問題は、誰かがフォームの make フィールドに入力すると、何も返されないことです。get 変数が空白の場合、* を追加すると、何かが返されると思いましたが、そうではありません:( 検索してきましたが、問題を見つけるために検索する正しい単語がわからないことが問題だと思います私の問題を治す...

どんな助けでも大歓迎です。

4

3 に答える 3

0

ユーザーに「すべて」を閲覧させるか -- ユースケース = 変わったアイテムを探しているコレクター。

または、「検索条件」プルダウンを用意して、ユーザーに少なくとも 1 つの検索カテゴリを選択させます。

すべての検索基準が空白の場合にエラー メッセージを送信することもできますが、これは一連の検索オプション画面を案内するよりも、ユーザーを悩ませる傾向があります。

于 2013-07-26T02:03:19.417 に答える