php - 如何从 sql 到 php 操作行集数据

标签 php sql pdo

我问了一个关于如何从sql中的不同表中检索数据的问题How to get data from 4 tables in 1 sql query?

当我对示例数据运行查询时,我得到 3 行,无论如何,类(class)和类别之间存在多对多关系,我总是会得到同一类(class)的更多行。

我的问题是如何在 PHP 中处理这些数据?我得到一个数组,我想要的是这样的:

Array ( 
  [0] => stdClass Object ( 
      [name] => course name 
      [tutor] => tutor name 
      [categories] => Array ( categories here ) 
);

在获取类(class)后,我是否应该在 foreach 循环中从类别中获取数据?这意味着大量数据的性能较差。

最佳答案

Should I just fetch the data from the categories in a foreach loop after I fetch a course? That would mean bad performance for large amount of data.

我认为这取决于您将如何处理数据。如果只是为了向用户展示,我认为对结果进行分页是个好主意。

但是,如果您确实需要在一个查询中获取所有数据并将其存储在一个大数组中,您可以执行以下操作:

$last_id = -1;
for( $x=0; $x < count($myArray); $x++ ) {
  if( $last_id != $myArray[$x]['id'] ) {
    //course changed, do something!
  } 
  //do more stuff...
  $last_id = $myArray[$x]['id'];
}

关于php - 如何从 sql 到 php 操作行集数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9226416/

相关文章:

sql - 在 Ruby on Rails 中访问查询

python - 通过 Python API 客户端发送到 BigQuery 时验证查询出现语法错误

php - LIKE 查询不起作用 PDO

php - 发生数据库错误错误号: 1066 Not unique table/alias:

php - 简单查询未运行

sql - 如何连接 Postgres SELECT 中的列?

php - 使用左外连接从多个表中获取数据 - PDO

PHP & MySQL 不向表中插入数据 (PDO)

javascript - 我如何访问这个 javascript 元素?

php图片上传无法将实际文件复制到目标文件夹