我有一个表单,用户可以将他们的技能插入到mysql数据库中。他们可以从三种选择中选择一种:绘画、绘画或绘画与绘画。然后将其中一个值插入到数据库中的字段中。
我希望能够使用带有selects的表单查询这些值。我把它做得很好,但可能遇到了逻辑上的问题。
如果有人从搜索表单中选择绘画,这应该会返回绘画和绘画都是值的所有行,但在我的表单中,它只返回与绘画相等的值。
类似地,如果有人从搜索表单中选择绘画&绘图,则只返回存在确切值的行,但实际上,这应该返回所有同时存在绘画和绘图的行。我怎样才能做到这一点?搜索代码的一部分如下:
<div class="form-group">
<label class="sr-only" for="job"></label>
<div class="input-group">
<select id="jobtitle" name="jobtitle" class="form-control">
<option value="" disabled selected>jobtitle</option>
<option value="drawing">
Drawing
</option>
<option value="painting">
Painting
</option>
<option value="Drawing & Painting">Drawing & Painting</option>
</select>
mysql查询是:
sql="select name, jobtitle from mytable where jobtitle='jobtitle'"
发布于 2015-08-19 18:22:05
用它代替。你可以逃脱
SELECT name,jobtitle FROM mytable WHERE jobtitle LIKE "%painting%";
它将选择“绘画”领域中的一切。%是通配符。您必须用PHP字符串连接稍微重写它,才能包含变量,但是这应该会给您一个好的开始,对吗?
如果您将更多的选项放入并拥有(绘画、绘画和着色)或(着色、绘画和绘图),这将适用于您。它将返回一个匹配的任何一个,因为‘绘画’是在两个领域。
https://stackoverflow.com/questions/32102715
复制相似问题