<?php
$query = sprintf("SELECT * FROM `users` WHERE `lastlogin` + INTERVAL 30 DAY < NOW()");
$result = mysqli_query($con, $query);
if(mysqli_num_rows($result) != 0)
{
while($row = mysqli_fetch_array($result))
{
$uid = $row['ID'];
$name = $row['name'];
$lastlog = $row['lastlogin'];
$query57 = sprintf("SELECT * FROM `icons` WHERE `Type` = 10 AND `Owner` = '$name'");
$result57 = mysqli_query($con, $query57);
while($row57 = mysqli_fetch_array($result57))
{
$iid = $row57['ID'];
$address = $row57['Address'];
echo("[House ID: ".$iid."] [Address: ".$address."] [Owner: ".$name."] [Last Online: ".$lastlog."]<br>");
}
}
}
?>
CREATE TABLE users (`id` int, `name` varchar(25), `lastLogin` DATE) ; INSERT INTO users (`id`, `name`, `lastLogin`) VALUES (1, 'Me', NOW() - INTERVAL 2 DAY), (2, 'Him', NOW() - INTERVAL 15 DAY), (3, 'Her', NOW() - INTERVAL 31 DAY) ; CREATE TABLE icons (`id` int, `owner` int, `type` int(3), `address` varchar(128)) ; INSERT INTO icons (`id`, `owner`, `type`, `address`) VALUES (1, 3, 10, "Here"), (2, 2, 10, "Ther"), (3, 1, 10, "Thur") ;
SELECT u.id AS id, u.name AS name, u.lastLogin AS lastLogin, i.id AS house_id, i.type AS type, i.address AS address FROM users u LEFT JOIN icons i ON i.owner = u.id WHERE `lastlogin` + INTERVAL 30 DAY <= NOW() GROUP BY u.id
Second rule of webdev: If you see a query within a loop, you're doing it wrong.
|