php - 创建具有多个列和表变量的查询

标签 php mysql sql variables

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

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

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

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

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

提前致谢,

佐姆

编辑:我想我可以在 PHP 或 switch 中执行 if/else 条件,每个案例将对应于多个输入列,并且每个案例都有其查询。但这会处理很多情况(例如,用户可以单击 10 个框),而且这样做似乎并不正确。而且,将来如果我需要更多的案例,我将不得不更改代码,但我宁愿不必这样做。

最佳答案

我假设您的表单元素名称是您正在查找的表字段。如果是这种情况,您可以循环浏览该帖子来构建您的字段表。我不确定你如何将变量设置为具有 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.

关于php - 创建具有多个列和表变量的查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22004506/

相关文章:

php - 如何使用 "WHERE"和 "IN"正确编写sql查询

php - UNION表查询错误数据

php - 如何将 PHP 对象从一个页面传递到下一个页面两次?

java - 如何将数据库中的数据放入Arraylist中?

php - 如何为 .click 事件赋值

php - 使用 preg_replace 捕获数学

php - session 变量在 readfile php 方法中不起作用

mysql - 如何划分同一列中的两个值

mysql - SQL - 创建数据透视表

sql - 当我尝试更新 oracle 11 g 中的多个列时收到错误消息