创建一个包含多个列和表变量的查询

时间:2014-02-25 04:21:24

标签: php mysql sql variables

我有一个包含许多表的数据库。我还有一个连接到它的基于Web的应用程序。目前我正在使用准备好的查询。

我正在尝试创建一个通用查询,该查询将能够从不同的表中获取可变数量的输入列。 (基本上用户检查创建我需要传递给查询的php变量的框)。

如果我知道需要说2列,那很简单,我只需要做类似的事情,

SELECT $col1, $col2 FROM $table1 INNER JOIN $table2;

如何更改它以便在查询中输入任意数量的变量?

提前致谢,

Zohm

编辑:我想我可能会在PHP或交换机中执行if / else条件,并且每种情况都会对应于许多输入列,并且每种情况都会有其查询。但是这会做很多情况(例如用户可以点击10个方框)并且这样做并不是正确的。此外,如果我需要更多案例,将来我将不得不改变代码,而我不必这样做。

1 个答案:

答案 0 :(得分:0)

我假设您的表单元素名称是您要查找的表字段。如果是这种情况,您可以遍历帖子来构建您的字段表。我不知道你是如何设置变量有2个值...

 $_POST['field1'] = "true";
 $_POST['field2'] = "true";
 $_POST['field3'] = "false";
 $_POST['field4'] = "true";

 $fields = "";
 foreach ($_POST as $key => $value)
 {
       $fields .= $key . ",";
 }

最终会以

结束
  $fields = "field1,field2,field4,";

现在你必须删除最后一个逗号,

  $fields = substr($fields,0,-1);

所以你可以:

    $query = "SELECT " . $fields . " from table1...and so on.