2016-07-05 24 views
1

我有5張桌子PHP MYSQL HTML搜索以多個濾波器/場

- companies 
- place 
- category 
- sub-category 
- company-sub-category 

'companies' consist of 6 column: 

- company_id (**PK**) 

- company name 

- place_id (**FK**) 

- address 

- cat_id (**FK**) 

- company_subcat_id (**FK**) 

'place' consist of 2 column: 

- place_id (**PK**) 

- place_name (**FK**) 

'category' consist of 2 column: 

- cat_id (**PK**) 

- cat_name (**FK**) 

MySQL數據庫
'sub-category' consist of 2 column: 

- sub-cat_id(**PK**) 

- sub-cat_name (**FK**) 

'company-sub-category' consist of 3 column: 

- company_subcat_id (**PK**) 

- company_id (**FK**) 

- sub-cat_id (**FK**) 

我想作一個: -

  1. 搜索使用使用了MySQL數據庫PHP HTML。

  2. 搜索表單也有一個過濾系統,就像下面的html中顯示的那樣。

  3. 我想結果,包括該公司的名稱

  4. 我也想使結果出現在另一頁「搜索results.html」

我是相當新到PHP,我不知道如何去做搜索表單的工作。

<!-- Search --> 
 

 
<nav id="c-menu--slide-top" class="c-menu c-menu--slide-top"> 
 
    <button class="c-menu__close" style="float: right;background: transparent;font-size: 45px;"> 
 
    <strong>x</strong></button> 
 
    <ul class="c-menu__items"> 
 
    <li class="c-menu__item"> 
 
     <form action="" target="search-results.html" method="post" id="nl-form" class="nl-form"> 
 
      I am looking for 
 
      <select name="category" id="category"> 
 
      <option value="0" selected>category choice</option> 
 
      <option value="1">Women</option> 
 
      <option value="2">Men</option> 
 
      <option value="3">Kids</option> 
 
      </select>'s 
 
      <br /> 
 
      <select name="sub-category" id="sub-category"> 
 
      <option value="" selected>-sub-category</option> 
 
      <option value="1">Jackets</option> 
 
      <option value="2">Tops</option> 
 
      <option value="3">Bottoms</option> 
 
      <option value="4">Accesories</option> 
 
      <option value="5">Undergarments</option> 
 
      <option value="6">Shoes</option> 
 
      </select> 
 
      <br />around 
 
      <select name="price_range" id="price_range"> 
 
      <option value="0" selected>price range</option> 
 
      <option value="$">$</option> 
 
      <option value="$$">$ $</option> 
 
      <option value="$$$">$ $ $</option> 
 
      <option value="$$$$">$ $ $ $</option> 
 
      </select> 
 
      eatery 
 
      <br /> and would prefer 
 
      <select name="pickup_choice" id="pickup_choice"> 
 
      <option value="0" selected>prefered chioce</option> 
 
      <option value="1">Home Delivery</option> 
 
      <option value="2">Self pick-up</option> 
 
      </select> 
 
      <br />at 
 
      <input type="text" value="" name="place" placeholder="location" data-subline=" eg.<em>little India</em> or <em>Chinatown</em>etc"/> 
 
      <div class="nl-submit-wrap"> 
 
      <button class="nl-submit" type="submit" href="search-result.html" name="submit"><a href="search-result.html"> Find a store</a></button> 
 

 

 

 
      </div> 
 
      <div class="nl-overlay"></div> 
 
     </form> 
 
     <script src="js/nlform.js"></script> 
 
    </li> 
 
    </ul> 
 
</nav> 
 

 
<!--End of Search-->

這是我用過的HTML文件,我沒有包括CSS和JS文件我想就沒有必要,但是如果有人想我表現出來,告訴我和我會很樂意去做。

非常感謝您的幫助,我想提前感謝您。


這是我來到

<?php 


     $whereClauses = array(); 
     if (! empty($_POST['category'])) $whereClauses[] ="category='".//**mysql_real_escape_string($_POST['category'])."'"; 

     if (! empty($_POST['sub_category'])) 
      $whereClauses[] ="category='".mysql_real_escape_string($_POST['sub_category'])."'"; 
     $where = ''; 

     if (! empty($_POST['price_range'])) 
      $whereClauses[] ="price_range='".mysql_real_escape_string($_POST['price_range'])."'"; 
     $where = ''; 

     if (! empty($_POST['pickup_choice'])) 
      $whereClauses[] ="pickup_choice='".mysql_real_escape_string($_POST['pickup_choice'])."'"; 
     $where = ''; 

     if (count($whereClauses) > 0) 
     { 
      $where = ' WHERE '.implode(' AND ',$whereClauses); 
     } 

     $sql = mysql_query("SELECT * FROM mytable ORDER BY id DESC $limit" .$where);//** 
     $result=mysql_query($sql); 
     while ($row = mysql_fetch_assoc($result)) { 
     echo $row['cuisine']; 
     echo $row['Jobs']; 

     } 
     ?> 

<!-- end snippet --> 

的PHP和這裏是'搜索result.html頁面:_


          
  
</head> 
 
     
 

 
     <body> 
 
    <div class="container"> 
 
     <div class="well well-sm list-grid-toggle"> 
 
      <strong>Category Title</strong> 
 
      <div class="btn-group"> 
 
       <a href="#" id="list" class="btn btn-default btn-sm"><span class="glyphicon glyphicon-th-list"> 
 
       </span>List</a> <a href="#" id="grid" class="btn btn-default btn-sm"><span 
 
        class="glyphicon glyphicon-th"></span>Grid</a> 
 
      </div> 
 
     </div> 
 
     <div id="products" class="row list-group"> 
 
      <div class="item col-xs-6 col-lg-4"> 
 
       <div class="thumbnail comany-detail"> 
 
        <img class="group list-group-image" src="http://placehold.it/400x250/000/fff" alt="" /> 
 
        <div class="caption"> 
 
         <h4 class="group inner list-group-item-heading"> 
 
          Company Name</h4> 
 
         <p class="group inner list-group-item-text"> 
 
          Product description... Lorem ipsum dolor sit amet, consectetuer adipiscing elit, 
 
          sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat.</p> 
 
         <div class="row"> 
 
          <div class="col-xs-12 col-md-6"> 
 
           <p class="lead"> 
 
            $$$$</p> 
 
          </div> 
 
          <div class="col-xs-12 col-md-6 company-link-btn"> 
 
           <a class="btn btn-success company-link" href="company-profile.html">View Menu</a> 
 
          </div> 
 
         </div> 
 
        </div> 
 
       </div> 
 
      </div> 
 
      <div class="item col-xs-6 col-lg-4"> 
 
       <div class="thumbnail company-detail"> 
 
        <img class="group list-group-image" src="http://placehold.it/400x250/000/fff" alt="" /> 
 
        <div class="caption"> 
 
         <h4 class="group inner list-group-item-heading"> 
 
          Company Name</h4> 
 
         <p class="group inner list-group-item-text"> 
 
          Product description... Lorem ipsum dolor sit amet, consectetuer adipiscing elit, 
 
          sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat.</p> 
 
         <div class="row"> 
 
          <div class="col-xs-12 col-md-6"> 
 
           <p class="lead"> 
 
            $$$$</p> 
 
          </div> 
 
          <div class="col-xs-12 col-md-6 company-link-btn"> 
 
           <a class="btn btn-success company-link" href="company-profile.html">View Menu</a> 
 
          </div> 
 
         </div> 
 
        </div> 
 
       </div> 
 
      </div> 
 
      <div class="item col-xs-6 col-lg-4"> 
 
       <div class="thumbnail company-detail"> 
 
        <img class="group list-group-image" src="http://placehold.it/400x250/000/fff" alt="" /> 
 
        <div class="caption"> 
 
         <h4 class="group inner list-group-item-heading"> 
 
          Company Name</h4> 
 
         <p class="group inner list-group-item-text"> 
 
          Product description... Lorem ipsum dolor sit amet, consectetuer adipiscing elit, 
 
          sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat.</p> 
 
         <div class="row"> 
 
          <div class="col-xs-12 col-md-6"> 
 
           <p class="lead"> 
 
            $$$$</p> 
 
          </div> 
 
          <div class="col-xs-12 col-md-6 company-link-btn"> 
 
           <a class="btn btn-success company-link" href="company-profile.html">View Menu</a> 
 
          </div> 
 
         </div> 
 
        </div> 
 
       </div> 
 
      </div> 
 
      <div class="item col-xs-6 col-lg-4"> 
 
       <div class="thumbnail restaurant-detail"> 
 
        <img class="group list-group-image" src="http://placehold.it/400x250/000/fff" alt="" /> 
 
        <div class="caption"> 
 
         <h4 class="group inner list-group-item-heading"> 
 
          Restaurant Name</h4> 
 
         <p class="group inner list-group-item-text"> 
 
          Product description... Lorem ipsum dolor sit amet, consectetuer adipiscing elit, 
 
          sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat.</p> 
 
         <div class="row"> 
 
          <div class="col-xs-12 col-md-6"> 
 
           <p class="lead"> 
 
            $$$$</p> 
 
          </div> 
 
          <div class="col-xs-12 col-md-6 restaurant-link-btn"> 
 
           <a class="btn btn-success restaurant-link" href="restaurant-profile.html">View Menu</a> 
 
          </div> 
 
         </div> 
 
        </div> 
 
       </div> 
 
      </div> 
 
      <div class="item col-xs-6 col-lg-4"> 
 
       <div class="thumbnail restaurant-detail"> 
 
        <img class="group list-group-image" src="http://placehold.it/400x250/000/fff" alt="" /> 
 
        <div class="caption"> 
 
         <h4 class="group inner list-group-item-heading"> 
 
          Company Name</h4> 
 
         <p class="group inner list-group-item-text"> 
 
          Product description... Lorem ipsum dolor sit amet, consectetuer adipiscing elit, 
 
          sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat.</p> 
 
         <div class="row"> 
 
          <div class="col-xs-12 col-md-6"> 
 
           <p class="lead"> 
 
            $$$$</p> 
 
          </div> 
 
          <div class="col-xs-12 col-md-6 company-link-btn"> 
 
           <a class="btn btn-success company-link" href="restaurant-profile.html">View product</a> 
 
          </div> 
 
         </div> 
 
        </div> 
 
       </div> 
 
      </div> 
 
      <div class="item col-xs-6 col-lg-4"> 
 
       <div class="thumbnail company-detail"> 
 
        <img class="group list-group-image" src="http://placehold.it/400x250/000/fff" alt="" /> 
 
        <div class="caption"> 
 
         <h4 class="group inner list-group-item-heading"> 
 
          Company Name</h4> 
 
         <p class="group inner list-group-item-text"> 
 
          Product description... Lorem ipsum dolor sit amet, consectetuer adipiscing elit, 
 
          sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat.</p> 
 
         <div class="row"> 
 
          <div class="col-xs-12 col-md-6"> 
 
           <p class="lead"> 
 
            $$$$</p> 
 
          </div> 
 
          <div class="col-xs-12 col-md-6 company-link-btn"> 
 
           <a class="btn btn-success company-link" href="company-profile.html">View product</a> 
 
          </div> 
 
         </div> 
 
        </div> 
 
       </div> 
 
      </div> 
 
    </div> 
 

 
     <script src='http://cdnjs.cloudflare.com/ajax/libs/jquery/2.1.3/jquery.min.js'></script> 
 

 
     <script src="js/search-result.js"></script> 
 
     
 
     
 
     </body> 
 
    </html>

回答

1

變化<form action="" target="search-results.html"

以更改<form action="search-results.html"

動作是要提交的頁面,target定義它是否應該位於新頁面或同一頁面窗口中。

而關於提交按鈕,不需要在按鈕或文本中鏈接。提交按鈕鏈接到表單,並將提交給您在表單標籤中action屬性中設置的任何內容。

變化<button class="nl-submit" type="submit" href="search-result.html" name="submit"><a href="search-result.html"> Find a store</a></button>

到:<button class="nl-submit" type="submit" name="submit">Find a store</button>

這是否幫助?

此外,將表單數據提交到HTML頁面將不起作用。它將只加載HTML頁面。您將需要一個PHP頁面來提取表單數據,搜索數據庫並將其顯示在頁面上。嘗試在這裏學習:W3schools PHP form handling tutorial

編輯:

Stack Overflow是在這裏,以幫助您規劃問題。不爲你編程。你應該真的在PHP上做一些教程。看看W3Schools。你可能也想閱讀SQL。 (W3Schools)。結合使用PHP和SQL:W3Schools PHP SQL

您的php代碼充滿了錯誤,不應該使用。當您嘗試編寫一個新的時需要注意的事項:使用mysqli而不是舊的不推薦使用的mysql。你的數據庫連接在哪裏?你試圖做兩次mysql_query。這會導致錯誤。 如果遇到任何問題,請隨時詢問。但是,請自己嘗試學習一些PHP/SQL。有很多很好的和簡單的教程,因爲我鏈接,你可以谷歌。

祝你好運。

+0

@PeterSmith謝謝你,這真的很有幫助,但我其實也在尋找PHP語法。就像你說的那樣,HTML頁面的表單數據將不起作用。我有一種語法,我認爲它有點類似我應該使用的代碼,但是我只是不確定如何去做。 – mods

+0

我也剛剛添加了我認爲應該使用的PHP文件,以及結果頁面的HTML文件。順便說一句,我真的很感謝你的幫助,這確實意味着很多。謝謝你,彼得史密斯。對不起,以前沒有解釋得那麼好。 – mods

+0

@mods看看我的編輯。我無法幫助你,我可以爲你寫信。但這不是堆棧溢出的工作方式,你不會那樣學習。做一些關於PHP SQL的教程。祝你好運。 Clemenz。 (不是彼得史密斯,哈哈哈:)) – Clemenz