PHP MYSQL HTML 使用多个过滤器/字段进行搜索
PHP MYSQL HTML Search with multiple filters/ fields
我有一个包含 5 个表的 MySQL 数据库
- 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**)
'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**)
我想做一个:-
使用 PHP HTML 使用 MySQL 中的数据库进行搜索。
搜索表单也有一个过滤系统,如下面 html 所示。
我希望结果中包含公司名称
我也想让结果显示在另一页"search-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
<?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 -->
这里是 'search-result.html' 页面 :_
<div class="snippet" data-lang="js" data-hide="false" data-console="true" data-babel="false">
<div class="snippet-code">
<pre><code> </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>
我有一个包含 5 个表的 MySQL 数据库
- 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**)
'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**)
我想做一个:-
使用 PHP HTML 使用 MySQL 中的数据库进行搜索。
搜索表单也有一个过滤系统,如下面 html 所示。
我希望结果中包含公司名称
我也想让结果显示在另一页"search-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
<?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 -->
这里是 'search-result.html' 页面 :_
<div class="snippet" data-lang="js" data-hide="false" data-console="true" data-babel="false">
<div class="snippet-code">
<pre><code> </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>