情報
私は現在、私のウェブサイトでユーザーの支払い履歴を表示する履歴/ログ ページを作成しています。
2 つのテーブルはtasks、payouts
tasksユーザーが完了してお金を稼ぐことができるタスクでいっぱいのテーブルです。私が使用する返された列はtasks.title、tasks.paymentおよびtasks.timestamp
payoutsユーザーが収益を支払うときに情報を保存するテーブルです。私が使用する返された列はpayouts.processor、payouts.amountおよびpayouts.timestamp
問題
両方のクエリを実行し、それらをマージして (出力で foreach を使用するときに簡単に異なる方法で表示できるように、おそらく型フィールドを使用して)、タイムスタンプ DESC で並べ替える必要があります。
試み
私の唯一の試みは無益でした.私がしたことは、両方のクエリを実行してarray_pushから、配列の最後に何も追加しなかったものを使用することだけでした.
質問
というフィールドを追加しながら2つのクエリ結果をマージする最良の方法は何でしょうか。LOG_TYPE出力時にこのようなことができます
foreach($data as $row){
if($row['LOG_TYPE'] == 1){
// Display Payout
} else {
// Display Task
}
}
結論
質問はできるだけ早く回答され、編集内容は下に表示されます。ありがとうございました。
編集
リクエストに応じて、使用している 2 つのクエリを次に示します。
$STH = $this->database->prepare('SELECT * FROM tasks WHERE completed_by = :userid ORDER BY timestamp DESC');
$STH->execute(array(':userid' => $user));
$data = $STH->fetchAll();
$STH = $this->database->prepare('SELECT * FROM payouts WHERE user = :userid ');
$STH->execute(array(':userid' => $user));
$payouts = $STH->fetchAll();