我使用PDO连接到数据库中的表。所以我写了一个快速的函数来返回从数据表返回的结果。是的,我可以在查询中使用SORT BY对结果进行排序,但我想避免在此查询中使用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
我不同意你在SQL语句中不使用"ORDER BY"。但无论如何,你可以试试这个:
$tmp_dataset = array();
foreach($dataset as $data)
{
$tmp_dataset[ $data['name_of_column'] ] = $data;
}
$dataset = $tmp_dataset;
ksort($dataset);