我问了一个关于如何从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/