0

データベース内のテーブルに接続するために PDO を使用しています。そこで、データ テーブルから返された結果を返す簡単な関数を作成しました。はい、クエリで SORT BY を使用して結果を並べ替えることができますが、このクエリでは大きなテーブルの情報を引き出すため、このクエリではそれを避けたいと思います。

*まず、ユーザー側でこのデータ セットをソートできるようにする必要があります。したがって、列「fullName」で並べ替えたり、「userID」または「createdDate」で並べ替えたりできるように、さまざまな列で並べ替える必要があります

そのため、PDO が結果を取得して配列を返すときに、それらを並べ替えたいと考えています。

* 2 番目の質問は、この関数のどこで結果を解放しますか、それともクエリの外で結果を解放しますか?

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 に答える