에 적어도 하나의 문자열을 찾기 :나는 언어의 테이블이 문자열
사용자 :
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을 사용할 수 있습니다. –