Quote:
Originally Posted by MarkFL
Well, what you could do is query the infraction table to get all users who have been issued a permanent infraction during the last year (then build a comma-delimited list of userids), and then query the user table to set the users in the list you built with the value of 1 in the new column and all others are set to 0.
If that sounds good, I will see if I can construct the correct code for that. 
|
I did some Google, and I read your previous post.
I came up with this, but I don't know if it is correct for starters, nor how to use the comma-delimited output with the second query.
I also want to now count the number of permanent infractions the user has had in the past year and set it in the new column in the user table.
PHP Code:
$pinfracted = $vbulletin->db->query_first("
SELECT CONCAT(userid, ',') AS puserid
FROM " . TABLE_PREFIX . "infraction AS infraction
AND dateline >= " . (TIMENOW - 365*86400) . "
AND expires = 0
");
$pinfract_this_year = $vbulletin->db->query_first("
SELECT COUNT(*) AS infract_count
FROM " . TABLE_PREFIX . "infraction AS infraction
WHERE userid = " . $pinfracted['puserid'] . "
AND dateline >= " . (TIMENOW - 365*86400) . "
AND expires = 0
");
$vbulletin->db->query_write("
UPDATE " . TABLE_PREFIX . "user
SET new_column = " . $pinfract_this_year['infract_count'] . "
WHERE userid = " . $userid
);
I'm sorry if none of what I said makes any sense, and I wholly appreciate you taking your time to help me!