php - 带选项的 Mysql 搜索查询

标签 php html mysql

我有一个表单,用户可以将他们的技能插入到 mysql 数据库中。 他们可以从三个选项中选择一个:绘画、绘画或绘画和绘画。然后将这些值之一插入到数据库中的字段中。

我希望能够使用带有选择的表单来查询这些值。我已经让它工作正常,但遇到了可能与逻辑有关的问题。

如果有人从搜索表单中选择绘画,这应该返回绘画绘画和绘画都是值的所有行,但在我的形式它只返回等于绘画的值。

同样,如果有人从搜索表单中选择绘画和绘画,则仅返回存在该确切值的行,但实际上这应该返回绘画的所有行>绘图存在。我怎样才能实现这个目标? 一段搜索代码如下:

 <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'"

最佳答案

使用like代替。你可以逃脱

SELECT name,jobtitle FROM mytable WHERE jobtitle LIKE "%painting%";

它将选择字段中包含“绘画”的所有内容。 % 是通配符。您必须使用 PHP 字符串连接稍微重写它以包含该变量,但这应该会给您一个好的开始,对吗?

如果您添加更多选项并拥有(绘画、绘画和着色)或(着色、绘画和绘画),这将对您有用。它将返回其中任何一个的匹配项,因为“绘画”同时存在于两个字段中。

关于php - 带选项的 Mysql 搜索查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32102715/

相关文章:

php - Laravel Eloquent where not in 和 where 条件不起作用

PHP PDO 向用户显示格式化错误

php - 一个 Web 框架,其中 AJAX 不是事后的想法

javascript - 从第一个按钮下拉后移动下一个按钮

jquery - 使用 CSS 将 "Winner of the month"图像覆盖在另一个图像上

分配 64 字节时 PHP PDO 允许内存耗尽

html - 子菜单定位

php - 同一个表上的两个 SUM() 查询但使用不同的 where 子句

php - 使用php显示数据库中的重复条目

mysql - MYSQL 中的条件排序。应该影响行的一部分