有人可以帮助我试图让我的MySQL查询显示我的网站上的所有用户是18-25,目前这样做,但它的回声相同的结果/同一用户约20次。mysql函数显示25岁以下的用户?
我只想在查询中显示每个结果/每个用户一次。有人可以告诉我哪里有问题,谢谢。
年龄是当前记录在数据库中作为varchar(11)即时通讯使用年龄独立从我的日期brith这是一个time_stamp,但我需要设置的年龄从出生日期分开,所以即时使用varchar列。
所以要清楚即时试图显示在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.user_age='18' OR ptb_stats.user_age='19' OR ptb_stats.user_age='21' OR ptb_stats.user_age='22' OR ptb_stats.user_age='23' OR ptb_stats.user_age='24' OR ptb_stats.user_age='25'
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
$categories_under25_set = categories_agegroup_under25();
while ($age = mysql_fetch_array($categories_under25_set)) {
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']}, {$age['user_age']}</h58>
</div>
</div>";
}
?>
为什么11岁就VARCHAR,而不是一个int(3)? – 2013-02-15 19:32:40
@John这是我在桌子交叉产品之后注意到的第二件事。这需要重写lol – 2013-02-15 19:34:20
有两件事情:1)time_stamp不会显示1970年以前出生的用户。2)存储age *和* DoB是不正确的数据库规范化。 – slugonamission 2013-02-15 19:40:11