0

適切に構成されたイベントを注文したいのですが、直面していることは何ですか?

販売可能なイベントを注文し、最初に表示し、次に予約可能で販売できないものを表示しますが、人々が予約すると、3〜4日間イベントを開きます予約した人だけがそのイベントを購入できる、

私が欲しいのは簡単です、私は彼らが予約をしたことをイベントに示したいです、そしてイベントは予約をした人だけのために開かれています; 先に順番に、次に一般公開されているもの、予約制で買えないもの、

例えば、Aは誰でも参加できるイベント、Bは予約制、Cは予約した人だけが購入できる、

私のクエリが返すものは次のとおりです: A - B - C

私が欲しいのは: C - A - B

クエリを変更しようとしましたが、そこで間違いを犯したことはわかっています

ここに私のコードがあります:

try
{
$event_query = "SELECT * FROM `events` ORDER BY `reservation` ASC, `eventdate` ASC";
$event_query_check = $db->prepare($event_query);
$event_query_check->execute();
$ac = $db->query("SELECT FOUND_ROWS()")->fetchColumn();
while($fetch = $event_query_check->fetch (PDO::FETCH_ASSOC) ){ 

// fetching the info exc in here


try {
$q = "SELECT * FROM `event_reservation` WHERE `attendee_id` = :attendee_id AND `event_id` = :event_id";
$check_query = $db->prepare($q);
$check_query->bindParam(':attendee_id', $userid, PDO::PARAM_INT);
$check_query->bindParam(':event_id', $event_id, PDO::PARAM_INT);
$check_query->execute();
$n2 = $db->query("SELECT FOUND_ROWS()")->fetchColumn();
}
catch(PDOException $e) {
$log->logError($e." - ".basename(__FILE__));
}

// not working part of the code

 if($n2){
$event_query = "SELECT * FROM `members` ORDER BY `reservation_open_to_sell` DESC, `reservation` ASC, `eventdate` ASC";
}

// ends here

} // end of while
} // end of try
catch(PDOException $e) {
$log->logError($e." - ".basename(__FILE__));
}

ありがとうございました

4

1 に答える 1

1

次のようなことができます:

order by case when reservation='c' then 1 
              when reservation='a' then 2
              when reservation='b' then 3 end
于 2012-11-09T21:39:43.990 に答える