vBulletin - 从用户表中提取用户名

时间:2010-10-14 08:21:38

标签: php sql vbulletin

我需要从vBulletin中的用户表中提取所有用户名的列表,这些用户名是在特定日期之前注册的人员。例如,我需要所有成员到10月1日,但之后不需要。

我认为'joindate'字段以秒表示。例如。 1116022743.如何在此基础上提取用户名?

欢呼声

2 个答案:

答案 0 :(得分:0)

很难在不知道VB表结构的情况下给出确切答案,但查询类似于

$date = strtotime('10/01/2010'); 
/* this is the date you are basing our query on
we make a timestamp of it for comparison */

$sql = "SELECT * FROM `vb_users_table` WHERE `joindate` <= '$date'";

那些“秒”是时间戳btw(技术上是秒,但正确的术语是时间戳)。

示例:

<?php

$date = strtotime('10/01/2010'); //1st oct 2010
$old = strtotime('3/9/2009'); // 9th mar 2009
$new = strtotime('3/9/2011') // 9th mar 2011

/* substitute $old with $new to see the effect */
if($old<=$date) { 
    echo date('d M Y', $old) . ' is before ' . date('d M Y', $date);
} else {
    echo date('d M Y', $old) . ' is not before ' . date('d M Y', $date);
}

答案 1 :(得分:0)

您可以使用UNIX_TIMESTAMP MySQL函数来帮助构建查询。这是一个查询,它将提取vBulletin安装中所有用户的用户名,其加入日期是2010年10月1日之前:

SELECT username FROM user WHERE joindate < UNIX_TIMESTAMP('2010-10-01 00:00:00');

如果您想反过来(将时间戳从UNIX表单转换为可读表格),您可以使用FROM_UNIXTIME