使用PHP来循环mySQL查询是否有效?

 hnzhenlin 发布于 2023-02-04 15:22

我在第1页上有一个充满复选框的HTML表,其name属性设置如下:

input type ="checkbox"name ="A_1"input type ="checkbox"name ="B_2"

在接下来的页面中,我在PHP中循环遍历我的$ _POST数组,并使用explode来生成如下数组:

数组([A_1] => on [A_2] => on [B_2] => on [B_5] => on [C_5] => on [submit] => Submit)

分成两个数组:

row_Array = Array([0] => 1 [1] => 2 [2] => 2 [3] => 5 [4] => 5)

column_Array = Array([0] => A [1] => A [2] => B [3] => B [4] => C)

这是我的SQL查询:

for($i=0; $i < count($column_array); $i++) {
    $sql =  "SELECT {$column_array[$i]} FROM table WHERE num IN ({$row_array[$i]})";
    $result = mysqli_query($connection, $sql);
    while ($data = mysqli_fetch_assoc($result)) {
        $result_array[] = $data[$column_array[$i]];
    }
}

这是我的SQL表的一个例子:

  A   B   C
1 cat cot cet
2 rat rot ret
3 hat hot het
4 lat lot let
5 bat bot bet

我的循环中的各个SQL查询如下所示并返回正确的值:

SELECT A FROM table WHERE num IN (1) returns cat
SELECT A FROM table WHERE num IN (2) returns rat
SELECT B FROM table WHERE num IN (2) returns rot
SELECT B FROM table WHERE num IN (5) returns bot
SELECT C FROM table WHERE num IN (5) returns bet

我是sql和php的新手.这有效,但这似乎是一种可怕的方式.任何建议或帮助将不胜感激.

1 个回答
  • 我相信这是一个更好的做法,运行单个查询并循环返回的数据而不是循环然后运行多个查询.

    但是,根据您的数据结构和应用程序布局,UI等,这可能是不可能的.

    2023-02-04 15:24 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有