情報
私は現在、私のウェブサイトでユーザーの支払い履歴を表示する履歴/ログ ページを作成しています。
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();