我目前有这个PHP / SQL代码:
$today = date("Y-m-d");
$sqlQuery = 'SELECT id FROM post
WHERE (100*((agree+disagree)-('.nbDays('date', $today).')*10) >= 75)';
我的nbDays功能。
function nbDays($debut, $fin) {
$nbSecondes= 60*60*24;
$debut_ts = strtotime($debut);
$fin_ts = strtotime($fin);
$diff = $fin_ts - $debut_ts;
return round($diff / $nbSecondes);
}
以下是我的帖子表:
Post
-- #id
-- [int] agree
-- [int] disagree
-- [datetime] date
我想要做的是为符合此条件的帖子返回一组id;
(100 *(同意/(同意+不同意)) - (从发布日期到今天的天数))> 75
我想使用SQL请求,这样我就不必在排序之前列出所有帖子。
我希望我足够清楚,并希望你能帮助我。
非常感谢!
答案 0 :(得分:0)
在您的情况下,您可以编写要处理的数据库存储过程 你的逻辑。然后直接在php中调用数据库过程。简而言之 如果您使用MYSQL,也许您可以尝试以下简单查询。
SELECT id FROM post WHERE (100*((agree+disagree)-(UNIX_TIMESTAMP(now()) - UNIX_TIMESTAMP(date))*10) >= 75);