0
양식을 가지고 있으며 체크 된 모든 행을 다시 검색하려고합니다. 하지만 원하는대로 작동하도록 할 수는 없습니다 .. 하나의 체크 박스 만 작동합니다. 각 값이있는 모든 행을 표시하려고합니다. "Rock"과 "Jazz"를 선택하면 모든 행이 "Rock"또는 "Jazz"로 표시됩니다. 그리고 그 행 부엉이 "록, 전자"도 나타납니다.PHP : 배열의 각 값을 선택하십시오.
다른 문제가 있습니까?
<?php
if(isset($_POST['submit'])){
if (isset($_POST['genre'])) {
$genre_str = implode(",", $_POST['genre']);
$sql = $dbcon->prepare('SELECT * FROM user_profile WHERE user_genre LIKE :user_genre');
$sql->bindvalue(':user_genre', "%".$genre_str."%");
$sql->execute();
foreach ($sql as $row){
$row_id = htmlspecialchars($row['id']);
$row_genre = $row_post['user_genre'];
echo "id: " . $row_id . " = " . $row_genre;
echo "<br/>";
}
}
}
?>
<form action="" method="post">
<h4 class="text-center">Genre</h4>
<div class="checkbox">
<label class="checkbox-inline"><input type="checkbox" name="genre[]" value="Rock">Rock</label>
<label class="checkbox-inline"><input type="checkbox" name="genre[]" value="Funk">Funk</label>
</div>
<div class="checkbox">
<label class="checkbox-inline"><input type="checkbox" name="genre[]" value="Jazz">Jazz</label>
<label class="checkbox-inline"><input type="checkbox" name="genre[]" value="Hip-Hop">Hip-Hop</label>
</div>
<div class="checkbox">
<label class="checkbox-inline"><input type="checkbox" name="genre[]" value="Acoustic">Acoustic</label>
<label class="checkbox-inline"><input type="checkbox" name="genre[]" value="Electronic">Electronic</label>
</div>
<div class="col-md-12">
<input type="submit" name="submit" class="btn btn-block btn-success" value="Search">
</div>
</form>
user_genre에 저장된 값의 유형은 무엇입니까? 단일 값 또는 쉼표로 구분 된 목록? –
쉼표로 구분 됨 – user2254488
[읽으십시오.] (http://stackoverflow.com/questions/3653462/is-storing-a-delimited-list-in-a-database-column-really-that-bad) LIKE 가능 와일드 카드 문자 사이의 전체 값을 찾을 것이므로 정확한 값을 user_genre 어딘가에 찾지 않으면 일치하지 않습니다. –