我的語言表:查找至少一個子字符串中的
用戶:
Id languages
--------------------------
1 english,french,german
2 english,german
3 english,french
4 french
而且我有一個下拉選框(下圖)的列表。 我想讓用戶能夠搜索某種語言的子字符串,這些語言在每個id在用戶表中提供的語言之內。
例如 - 如果勾選「法國」將是標誌,然後它會給網頁上的ID 1 3和4
的我想用的結果「發現組」功能,但怎麼樣?
這是代碼:
$query = "select * from where 1=1,..."
$query.=" AND
find_in_set(ITEM1 of checkboxes selected, languages) <> 0 OR
find_in_set(ITEM2 of of checkboxes selected ,languages) <> 0 OR ...
etc.
任何建議:
var expanded = false;
function showCheckboxes() {
var checkboxes = document.getElementById("checkboxes");
if (!expanded) {
checkboxes.style.display = "block";
expanded = true;
} else {
checkboxes.style.display = "none";
expanded = false;
}
}
</script>
<tr>
<td>Languages</td>
<td dir="rtl">
<form method="post" action="exxx.php">
<div class="multiselect" dir="rtl">
<div class="selectBox" onclick="showCheckboxes()" dir="rtl">
<select>
<option>choose:</option>
</select>
<div class="overSelect" dir="rtl"></div>
</div>
<div id="checkboxes">
<label for="one">
<input type="checkbox" id="one" name="languages[]"
value="english">english</label>
<label for="two">
<input type="checkbox" id="two" name="languages[]" value="french"
>french</label>
<label for="three">
<input type="checkbox" id="three" name="languages[]"
value="arabic">german</label>
</div>
</div>
<input type="submit" name="submit">
</form>
現在,這種「語言」欄是我的,所以我想提取這個查詢一些搜索領域之一?
即使我會規範化表格:我的問題主要是從下拉列表中獲取值並通過它們進行搜索。我不知道有多少物品被選中,所以我不能寫
Select where languages = '$languages[0]' OR languages='languages[1]'
我會扔我抵消我只有一個選定。
這將是如此容易:如何用PDO準備語句來做到這一個簡單的例子http://www.1keydata.com/database-normalization/first-normal -form-1nf.php – nogad
我的問題主要是從下拉列表中獲取值並由它們搜索。 – Toto88
如果它被標準化,您可以使用WHERE ... IN。 –