[英]Sort users by age group using PHP and MySQL?
我試圖設置一個查詢,以根據表ptb_stats.user_age
的年齡顯示網站上所有25歲以下的ptb_stats.user_age
。 我將時間間隔設置為-25年,但未達到我的預期。 我究竟做錯了什么?
我的功能:
function categories_agegroup_under25() {
global $connection;
$query = "SELECT *
FROM ptb_users, ptb_stats
WHERE ptb_users.account_type = \"User\" AND ptb_users.account_status = \"Active\" AND ptb_stats.user_id = ptb_users.id
AND ptb_stats.userage >= ADDDATE(CURRENT_DATE(), INTERVAL -25 YEAR)
ORDER BY ptb_stats.user_age DESC
LIMIT 0,40";
$categories_under25_set = mysql_query($query, $connection);
confirm_query($categories_under25_set);
return $categories_under25_set;
}
我的PHP:
<?php
$dob = $age['user_age'];
function age_from_dob($dob) {
$date = date_diff(date_create($dob), date_create('now'))->y;
return $date;
}
?>
<?php
$categories_under25_set = categories_agegroup_under25();
while ($age = mysql_fetch_array($categories_under25_set)) {
$date = age_from_dob($age['user_age']);
echo"
<div class=\"boxgrid caption\">
<a href=\"profile.php?id={$age['id']}\"><img width=140px height= 180px src=\"data/photos/{$age['id']}/_default.jpg\"/></a>
<div class=\"cover boxcaption\">
<h58> {$age['display_name']}, ".$date."</h58>
</div>
</div>";
}
?>
我猜你在找
SUBDATE(CURRENT_DATE(), INTERVAL 25 YEAR)
ptb_stats.userage
是數字還是時間戳? 如果它是一個數字where ptb_stats.userage < 25
將起作用。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.