10/10/2018, 11:31
[PHP] Giúp mình bài toán này
Xin chào tất cả các bạn!
Mình đang gặp một chút rắc rối với PHP và mong mọi người có thể giúp mình bài toán này.
Mình có MySQL database như hình dưới
Đây là chương trình nhắn tin chọn quà dành cho các thuê bao
- Mỗi tuần có 1 giải nhất
- 1 giải nhì
- 5 giải ba
Cho thuể bao có số dự đoán (number) gần đúng nhất (So với tổng các thuê bao nhắn tin hợp lệ trong database).
- Nếu 2 hoặc nhiều thuê bao có số dự đoán trùng nhau thì thuê bao nhắn tin sớm nhất (sender_time) là người chiến thắng.
- Rắc rối của mình gặp phải là yêu cầu lấy tiệm cận 2 bên (Thuê bao có số dự đoán gần đúng dưới và gần đúng trên). Ví dụ có 20 người dự đoán, thì người có số dự đoán <= 20 và > 20 đều được tính
- Mình đã chia ra 3 trường hợp
1, Không có số người dự đoán <= 20
2, Không có người dự đoán > 20
Hai trường hợp này thì mình đã làm được
//TH 1
$qr = "select * from table where game_id='$game' and gift_id='".$gift_id."' and number <= 20 order by number desc, sender_time asc limit 7";
//TH 2
$qr = "select * from table where game_id='$game' and gift_id='".$gift_id."' and number > 20 order by number asc, sender_time asc limit 7";
* Trường hợp 3: số dự đoán <= 20 và > 20
Bạn nào có thể giợi ý giúp mình cách giải quyết cho trường hợp này không??
Cảm ơn các bạn!
Mình đang gặp một chút rắc rối với PHP và mong mọi người có thể giúp mình bài toán này.
Mình có MySQL database như hình dưới
Đây là chương trình nhắn tin chọn quà dành cho các thuê bao
- Mỗi tuần có 1 giải nhất
- 1 giải nhì
- 5 giải ba
Cho thuể bao có số dự đoán (number) gần đúng nhất (So với tổng các thuê bao nhắn tin hợp lệ trong database).
- Nếu 2 hoặc nhiều thuê bao có số dự đoán trùng nhau thì thuê bao nhắn tin sớm nhất (sender_time) là người chiến thắng.
- Rắc rối của mình gặp phải là yêu cầu lấy tiệm cận 2 bên (Thuê bao có số dự đoán gần đúng dưới và gần đúng trên). Ví dụ có 20 người dự đoán, thì người có số dự đoán <= 20 và > 20 đều được tính
- Mình đã chia ra 3 trường hợp
1, Không có số người dự đoán <= 20
2, Không có người dự đoán > 20
Hai trường hợp này thì mình đã làm được
//TH 1
$qr = "select * from table where game_id='$game' and gift_id='".$gift_id."' and number <= 20 order by number desc, sender_time asc limit 7";
//TH 2
$qr = "select * from table where game_id='$game' and gift_id='".$gift_id."' and number > 20 order by number asc, sender_time asc limit 7";
* Trường hợp 3: số dự đoán <= 20 và > 20
Bạn nào có thể giợi ý giúp mình cách giải quyết cho trường hợp này không??
Cảm ơn các bạn!
Bài liên quan
đã tìm được:
- người gần đúng nhất và lớn hơn 20
- người gần đúng nhất và nhỏ hơn 20
lấy 2 thằng này trừ 20, sẽ ra thằng nào gần đúng nhất chứ j nữa nhỉ
1 giải nhất
1 giải nhì
5 giải ba
Giả sử mình có dãy:
10 15 18 9 (20) 29 30 45 47 36
Có cách nào để tìm ra 7 số gần 20 nhất không??
Em đã từng nghĩ là tìm ra người giải nhất > Tìm người giải nhì > Tìm lần lượt 5 người giải 3, nhưng như thế thì không khả thi, code tùm lum mất.
PS: ABS là lấy trị tuyệt đối
Mình đã trả lời chủ topic bên kia rồi nhé.
Cái này thì chắc chắn sẽ đúng với yêu cầu của mình rồi.
Thế mới biết, còn nhiều cái mình phải học lắm.
Cảm ơn mọi người!