我想创建搜索按钮以查看数据库中的项目。
<form method="post" name="searchdeals">
<h5 class="display-5 text-left py-3">Find a favourite vehicle </h5>
<div class="form-group select">
<select name="manufacturer_code" id="manufacturer_code" class="form-control" onchange="getState(this.value);">
<option selected>Select Brand</option>
<?php $ret="SELECT * FROM tbl_manufacturer";
$query= $dbh -> prepare($ret);
$query-> execute();
$results = $query -> fetchAll(PDO::FETCH_OBJ);
if($query -> rowCount() > 0)
{
foreach($results as $result)
{
?>
<option value="<?php echo htmlentities($result->manufacturer_code);?>"><?php echo htmlentities($result->manufacturer_name);?></option>
<?php }} ?>
</select>
</div>
<div class="form-group select">
<select name="model_code" id="model_code" class="form-control">
<option selected>Select Model</option>
</select>
</div>
<div class="form-group">
<button type="submit" name="searchdeals" value="Filter" class="btn btn-block btn-warning"><i class="fa fa-search" aria-hidden="true"></i> Search Vehicle</button>
</div>
</form>
这是我搜索项目的表格。因此可以向我建议如何创建查询和代码以创建搜索按钮。
我知道在查询中使用LIKE OPERATOR,但我不知道编写代码
action.page
if(isset($_POST['searchdeals'])){
$valueToSearch = $_POST['model_code'];
$sql = "SELECT tbl_manufacturer.manufacturer_name, tbl_model.model_name, tbl_model.model_type, tbl_vehicle.*, tbl_company.comp_name
FROM tbl_vehicle
INNER JOIN tbl_company ON tbl_vehicle.comp_id = tbl_company.comp_id
INNER JOIN tbl_model ON tbl_vehicle.model_code = tbl_model.model_code
INNER JOIN tbl_manufacturer ON tbl_model.manufacturer_code = tbl_manufacturer.manufacturer_code";
$query = $dbh -> prepare($sql);
$query->execute();
$results=$query->fetchAll(PDO::FETCH_OBJ);
答案 0 :(得分:0)
首先,您需要为表单执行以下操作:
<form method="post" name="searchdeals" action="/action_page.php">
然后,action_page.php应包含使用表单中$ _POST变量构建SELECT语句的代码。
答案 1 :(得分:0)
在action.php中(假定这是处理提交的表单的文件),应使用WHERE
子句和$_POST
变量中的搜索词。在这种情况下,您要发布model_code
。
$sql = "SELECT tbl_manufacturer.manufacturer_name, tbl_model.model_name, tbl_model.model_type, tbl_vehicle.*, tbl_company.comp_name
FROM tbl_vehicle
INNER JOIN tbl_company ON tbl_vehicle.comp_id = tbl_company.comp_id
INNER JOIN tbl_model ON tbl_vehicle.model_code = tbl_model.model_code
INNER JOIN tbl_manufacturer ON tbl_model.manufacturer_code = tbl_manufacturer.manufacturer_code
WHERE tbl_model.model_name like '%" . $_POST['model_code'] . "'%";
不确定是不是您必须比较的字段,但是您知道了。