我创建了一个房地产网站,我希望按照列表的最后更新和完整性对列表进行排序。所以我一直想弄清楚如何结合最近更新的列表按mysql中的字段(completion_score)进行排序。完成分数将采用 100 分制,0 分为差,100 分为完美完成。当列表被添加和更新并保存在 mysql 数据库中时,我将计算完成分数。我猜想我将不得不以某种方式将日期和 completion_score 结合起来以得出总数,但我不确定如何在一个 SELECT 中执行此操作。
目前我正在使用这个(显然不考虑完成分数):
ORDER BY ".$wpdb->prefix."fsrep_listings.listing_featured DESC, ".$wpdb->prefix."fsrep_listings.listing_last_updated DESC
我在想,如果是上周完成的,完成分数加30分,如果是上个月完成的,完成分数加20分,如果是上个月完成的,完成分数加20分。最后三个月我会在完成分数上加 10 分。然后我可以根据这个更新的完成分数来订购它。问题是我如何让它每天更改以调整分数。
听取 Mark 的建议,我编写了以下代码:
ORDER BY $wpdb->prefix.'fsrep_listings.listing_score' + if($wpdb->prefix.'fsrep_listings.listing_last_updated' > NOW()-INTERVAL 1 WEEK,30,if($wpdb->prefix.'fsrep_listings.listing_last_updated' > NOW()-INTERVAL 1 MONTH,20,if($wpdb->prefix.'fsrep_listings.listing_last_updated' > NOW()-INTERVAL 3 MONTHS,10,0)))' DESC';
然后我收到以下解析错误:语法错误,意外的 T_IF in/home/...
1 Câu trả lời
你的想法听起来不错。为什么不用它运行?
ORDER BY completion_score + IF(date > NOW()-INTERVAL 1 WEEK,30,IF(date > NOW()-INTERVAL 1 MONTH,20,IF(date > NOW()-INTERVAL 3 MONTHS,10,0))) DESC
不管怎么说,都是那种效果。
关于PHP:高级 ORDER BY,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7775610/
Tôi đang chạy PHP trong một tệp JavaScript, như... var = '';). Tôi cần sử dụng JavaScript để quét chuỗi để tìm các ký tự phân cách PHP (mở và đóng PHP). Tôi đã biết cách rồi
Tôi muốn có thể làm điều gì đó như thế này: php --determine-oldest-supported-php-version test.php và nhận được kết quả đầu ra này: 7.2 Nghĩa là nhị phân php được kiểm tra theo thử nghiệm.
Tôi đang phát triển một trang web php lớn hiện không sử dụng bất kỳ framework nào. Câu hỏi lớn của tôi là, liệu có nên thử tích hợp dần dần khung vào ứng dụng theo thời gian, chẳng hạn như tạo các tiện ích mới và cập nhật các tiện ích cũ không? Ví dụ, tất cả các trang đều được phục vụ trực tiếp thông qua URL.
Dưới đây là mã nguồn của tôi, tôi muốn sử dụng biến $r1 nằm trong tập lệnh php ở cuối trong một tập lệnh php khác ở đầu cùng một trang. Tôi cần một giải pháp đơn giản cho vấn đề này. Tôi muốn sử dụng biến đó trong truy vấn cập nhật có trong mã. $tên)
Tôi đang tạo một trang web thực hiện nhiều chuyển hướng PHP tùy thuộc vào các tình huống khác nhau. Giống như thế này... header("Location: somesite.com/redirectedpage.php"); để bảo mật