javascript - PHP/SQL 从 SQL 表中获取正确的数组

标签 javascript php database

我在数据库中得到了下表

- ID | successor 
- 01 | 02
- 01 | 04
- 01 | 08
- 02 | 03
- 04 | 05
- 05 | 06

这只是一个简单的电子学习系统内容分配表(这是正确的英语术语吗?)。

我当前的 php 代码是这样的

$sqlget = "SELECT * from successor";                        
$result = $conn->query($sqlget);                                                        
$dbsuccessor = [];
    
    if ($result->num_rows > 0) {                                                            
        // output data of each row
        while($row = $result->fetch_assoc()) {
            $dbsuccessor[] = $row;                                                              
            
        }
    } else {
        echo "0 results";
    }

使用 json_encode 将其解析为 js 后,我得到一个像这样的无用构造

var successors = <?php echo json_encode($dbsuccessor);?>;
console.log(successor);

Array[9]

0:

Object ID: "1" - successor: "2"

1:

Object ID: "1" - successor: "4"

2:

Object ID: "1" - successor: "8"

公平地说,这显然正是您对上面使用的代码所期望的。

我的目标是像这样的数组输出:

ID: "1" -> successor"2","4","8"

这样我在 javascript 中输入 console.log(successors[1]); 时可以看到 ID 为 1 的模块的所有后继者

最好的事情是我的数据库表保持原样。 我怎样才能实现我的目标?

最佳答案

使用Group_concat()为了实现这个目标

将您的查询更改为

$sqlget = "SELECT ID,group_concat(successor) from successor group by ID";
$result = $conn->query($sqlget);                                                        
$dbsuccessor = [];

if ($result->num_rows > 0) {                                                            
    // output data of each row
    while($row = $result->fetch_assoc()) {
        $dbsuccessor[] = $row;                                                              

    }
} else {
    echo "0 results";
}

关于javascript - PHP/SQL 从 SQL 表中获取正确的数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39076281/

相关文章:

php - 与 JSON 的一对多数据库关系

php - 使用 PHP 从 MySQL 下载数据到 csv 文件

mysql - 创建一个属于多于 2 个模型的关系

javascript - 如何在浏览器的新选项卡中打开页面?

javascript - 如何将 $http.get 的结果存储到变量中

javascript - 如何将 JavaScript 代码添加到 Cloudflare Worker?

php - 拖放 Div 删除

php - 卡在wampserver : it is in yellow mode

php - 创建 TRIGGER 给出错误 (MySQL)

javascript - 所选选项值的 jquery 验证警报