0

我正在使用 PDO 连接到数据库中的表。所以我写了一个快速函数来返回从数据表返回的结果。是的,我可以在我的查询中使用 SORT BY 对结果进行排序,但我想在这个查询中避免这种情况,因为这个查询会为一个大表提取信息。

*首先我需要能够在用户端对这个数据集进行排序。所以我需要以某种方式按不同的列排序,以便我可以按列“fullName”排序或按“userID”或“createdDate”排序

所以当 PDO 获取结果并返回我想要对它们进行排序的数组时。

*第二个问题,在这个函数中我在哪里做一个免费的结果,或者我在查询之外释放它们?

function getDataSet($query, $connection){

    $cmd = $connection->query( $query );
    return $cmd->fetchAll();  //PDO::FETCH_ASSOC

}

然后我可以通过简单地调用这个函数

$dataset = getDataSet("select * from users", $db)

在我的第一个问题中,我想对 $dataset 进行排序。

4

1 回答 1

0

我不同意您在 SQL 语句中不使用“ORDER BY”的观点。但无论如何,你可以试试这个:

$tmp_dataset = array();
foreach($dataset as $data)
{
    $tmp_dataset[ $data['name_of_column'] ] = $data;
}

$dataset = $tmp_dataset;

ksort($dataset);
于 2013-03-19T22:39:18.170 回答