我的情況: 我有兩個不同的形式。用戶可以通過其名稱/描述搜索產品的一種常見搜索形式,以及允許用戶通過其位置(郵編和城市)搜索產品的另一種形式。MySQL/PHP:連接兩個單獨的搜索表格
這是我的搜索表單的HTML:
<form name="searchform" method="post" action="index.php?go" class="searchform">
<input type="text" name="search" value="" placeholder="Suchen..." class="field_search" id="tags">
</form>
,這是我的位置,搜索表單的HTML:
<form class="location" method="post" action="index.php?go_location">
<input type="image" src="img/location/location.png" width="30" height="30" id="location_image" title="Ortung aktivieren"/>
<input type="text" size="18" placeholder="PLZ, Ort" name="location" id="location" title="Standort angeben"/>
<input type="image" name="" value="" src="img/location/go.png" width="30" height="30" id="location_submit"/>
</form>
和相應的PHP:
if(isset($_POST['search'])){
if(isset($_GET['go'])){
if(preg_match("/[A-Z | a-z]+/", $_POST['search'])){
$input=$_POST['search'];
$currently_searching = true;
//connect to db
$sql="SELECT * FROM table WHERE Name LIKE '%".$input."%' OR Description LIKE '%".$input."%'";
//echo results
}}}}
elseif(isset($_POST['location'])){
if(isset($_GET['go_location'])){
$input_location=$_POST['location'];
$currently_locationing = true;
$sql="SELECT * FROM table WHERE Postcode LIKE '%".$input_location."%' OR City LIKE '%".$input_location."%' OR Combined LIKE '%".$input_location."%' OR Combined2 LIKE '%".$input_location."%'";
//echo results
}}}
現在,個別,他們工作正常。 我想要實現的是將這兩種形式連接起來,讓已經搜索某個字符串的用戶(通過公共搜索表單)使用位置搜索表單將結果縮小到與給定字符相對應的結果郵政編碼...
我希望這是明確的。我想是這樣的:如果用戶使用通用搜索表單中,
$currently_searching
變量變成「真」,所以如果這個變量爲真和用戶使用位置 - 搜索表單,然後連接他們...所以我試圖添加這樣的php語句:
elseif(isset($_POST['location']) && $currently_searching == true){
if(isset($_GET['go_location']) && $currently_searching == true){
if($currently_searching == true){
$input_location=$_POST['location'];
$currently_locationing = true;
//connect to db
$sql="SELECT * FROM table WHERE (Name LIKE '%".$input."%' OR Description LIKE '%".$input."%') AND (Postcode LIKE '%".$input_location."%' OR City LIKE '%".$input_location."%' OR Combined LIKE '%".$input_location."%' OR Combined2 LIKE '%".$input_location."%')";
//echo results
}}}}
雖然它不工作。我會感謝一些幫助傢伙!提前致謝。
爲什麼不只是使用1種形式,而不是2?您可以將2種形式合併爲1種形式,當您提交時,它會提交位置和搜索信息。 – 2014-12-02 13:30:07
我不知道如何結合這兩種形式而不搞亂HTML,因爲這兩種形式在頁面的兩個不同部分有兩個不同的div。我怎樣才能做到這一點,而不受影響? – Frank 2014-12-02 13:50:50