php - 使用 PHP 和 MySQL 按年龄组对用户进行排序?

标签 php mysql

我正在尝试设置一个查询,根据表 ptb_stats.user_age 中的年龄显示我网站上 25 岁以下的所有用户。我设置了 -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)

关于php - 使用 PHP 和 MySQL 按年龄组对用户进行排序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14901327/

相关文章:

php - 如何获取最后插入的 ID。 mysql_insert_id() 不工作

compression - mysqldump 压缩 - gzip 或 bzip2

MySQL 在同一个表上使用不同 WHERE 子句进行多个 SELECT 查询

mysql - 从 MySQL 执行 shell 命令

PHP mysql_fetch_array() 根本不工作

php - 多语言网站的最佳实践

PHP 正则表达式 - 单引号不起作用 - TWIG 预转义

php - 基于分页查看的动态轮播横幅

php - 从 PHP 服务器端应用程序向 Android 客户端应用程序发送通知(少量数据)

MySQL:获取表之间的重复值列表