gpt4 book ai didi

php - 使用多个复选框名称查询搜索

转载 作者:行者123 更新时间:2023-11-29 03:20:08 26 4
gpt4 key购买 nike

我有这个音乐网站,其中有一个搜索边栏,我希望人们能够从我的表格中找到合适的音乐家资料。搜索表单是用复选框构建的,并使用 PHP 和 MySQL 连接到我的表。我希望人们根据位置、用户类型、他们播放的音乐类型以及是否有专辑发行等类别来查找个人资料。

<form action="udforsk.php"  method="post" enctype="multipart/form-data">
<h2>User type</h2>
<input type="checkbox" name="type[]" value="Solo">
<input type="checkbox" name="type[]" value="Duo">
<input type="checkbox" name="type[]" value="Band">

<h2>Location</h2>
<input type="checkbox" name="location[]" value="area_1">
<input type="checkbox" name="location[]" value="area_2">
<input type="checkbox" name="location[]" value="area_3">
<input type="checkbox" name="location[]" value="area_4">
<input type="checkbox" name="location[]" value="area_5">

<h2>Genre</h2>
<input type="checkbox" name="genre[]" value="genre_1">
<input type="checkbox" name="genre[]" value="genre_2">
<input type="checkbox" name="genre[]" value="genre_3">
<input type="checkbox" name="genre[]" value="genre_4">
<input type="checkbox" name="genre[]" value="genre_5">

<h2>Album or demo</h2>
<input type="checkbox" name="release[]" value="album">
<input type="checkbox" name="release[]" value="demo">
</form>

我希望它与查询宽度相关联,但我遇到了如何处理某些类别未填写的搜索的问题。就像没有选中任何位置复选框一样,所有位置在查询搜索中都是公平的游戏。

现在我正在尝试使用 IN 来搜索用户我的查询看起来像这样但是当 $_POST 输入为空时它给我带来了麻烦。现在我只是想让它适用于地点和类型。

$sql = "SELECT artist.ArtistID, artist.ArtistName, artist.RegionID, 
artist_genre.ArtistID, artist_genre.GenreID
FROM artist, artist_genre
WHERE artist.RegionID IN ($areaer) AND artist_genre.GenreID IN ($genrer)";

所有帮助如何使用带有复选框的多个搜索变量进行查询搜索通常会有很多帮助。

最佳答案

你可以试试这个代码:

$conditions = []; 
$query = 'your query ';
$conditions[] = isset($_POST['location']) ? 'artist.RegionID in ('.implode(',',$_POST['location']).')';
$conditions[] = isset($_POST['genre']) ? 'artist.GenreID in ('.implode(',',$_POST['genre']).')';
if(sizeof($conditions) > 0 ) query.='where '.implode(' and ',conditions);

但如果您使用准备好的语句会更好。

关于php - 使用多个复选框名称查询搜索,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46665044/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com