私は自分のサイトにユーザー評価のある多数の製品をリストしたページを持っています。 1つのクエリを使用して、各製品のデータポイント(詳細クエリ)と、各製品の平均ユーザー評価(「評価クエリ」)を返す2つ目のクエリを取得します。PHPのMySQL結果のソート...?
「詳細クエリ」の結果セットに各製品のユーザー評価を追加し、降順で評価してソートします。私はスタックオーバーフロー、php.netなどの項目を読んだことがあります。私はカスタム関数でusort()を使う必要があると思いますが、私のMySQL結果をusort()に渡すたびにPHPエラーが表示されます私がusort()に渡しているオブジェクトは配列ではありません。たとえば、私は試しました:
$data = mysql_fetch_array($details_query);
usort($data,"compare");
上記を実行すると、$ dataは配列ではないというエラーが表示されます。私は間違って何をしていますか?
また、これを行う方法に関する他の提案がある場合は、本当に感謝します。私は何らかの理由でこれで本当に苦労しています...
ありがとう!
これはクエリで行います。それは最も簡単な方法です。おそらく、テーブル構造に関する詳細を含めて、それを行う方法に関する別の質問をしてください。 –
PHPでデータベースデータをソートする理由はほとんどありません。すべてのケースで、SQLでもっと速く実行できます。 – Jonah
こんにちはPekka、私のテーブルが構成されている方法のため、私はクエリ内でこれを行うことはできないと思います。 「詳細クエリ」は国に基づいて個々のレコードを抽出し、「評価クエリ」は国々で集計されます。私はPHPでソート後のクエリをしなければならないと確信しています。 – Chris