传递选择值并从mysql中检索数据

时间:2012-11-01 05:55:03

标签: mysql drop-down-menu where

我正在处理动态页面。场景是这样的。

  • 第1页包含一个下拉菜单供我选择。
  • 所选菜单值将传递到下一页网址。
  • 然后页面将检索此值以比较和过滤MYSQL表字段名称。
  • 该表由4个主要类别组成,这是用户在第1页中选择的选项。
  • 对于每个类别,将存储30个单词。
  • 当用户搜索某个单词时,应该通过显示下拉菜单并检查该值是否与表格的字段ID值相同来询问选项,并且该单词现在用于缩小只搜索此字段而不是所有4个类别。

怎么做?我在这方面工作了几个星期,但我无法解决它。

$ret1 = "SELECT * FROM $db_tb_name WHERE MATCH
 ('categoryid'='.$selectvalueid.') AND AGAINST ('%$str%' IN BOOLEAN MODE)";

我有这段代码,语法错误。

请有人帮我一些例子。

1 个答案:

答案 0 :(得分:0)

让我直截了当地说明:在您发出请求时,您既有类别ID $selectvalueid(由下拉产生)又有搜索字词$str(由免费产生)文字条目?)。并且您希望表格categoryid列与您的脚本中的$selectvalueid字符串完全匹配的那些行,而其他一些列(具有什么名称?)包含 $str值。到目前为止这是正确的吗?

如果是,您的查询可能如下所示:

SELECT * FROM $db_tb_name
WHERE categoryid = '$selectvalueid'
  AND wordcolumn LIKE '%$str%'

请注意,将用户输入变量简单地粘贴到SQL查询中很可能会使您的网站容易受到SQL注入攻击。因此,更好的方法是使用带占位符的查询,并在执行查询时使用预准备语句以安全的方式填充这些占位符。如何做到这一点取决于应用程序语言。