У меня есть база данных, полный PHP time();
хранящихся при входе пользователя в системе.Расчет макс логинов на каждый день
Я знаю, что я должен был создать значение для имени пользователя и обновлять счетчик входа в системе, но вместо этого у меня есть база данных полный PHP time();
с их username
Вот как я считаю количество логинов для отдельных пользователей:
<?php
function to_date($timestamp) {
return date('Y-m-d', $timestamp);
}
$days = array();
$occurences = array();
$zero = array();
$query = mysql_query("SELECT `login_time` FROM `stats` WHERE `userid`='$someuserid' ORDER BY `login_time` ASC");
while($rows = mysql_fetch_array($query)) {
$days[] = to_date($rows['login_time']);
}
$days[] = to_date(time());
$occurences = array_count_values($days);
$days = array_unique($days);
sort($days);
for($i = 0; $i < count($days); $i++) {
$difference = isset($days[$i+1]) ? strtotime($days[$i+1]) - strtotime($days[$i]) : 0;
if($difference > 86400) {
$difference = ceil(abs($difference/86400));
$fill = $days[$i];
for($k = 0; $k < $difference-1; $k++) {
$fill += strtotime('+1 day', strtotime($fill));
$zero[] = to_date($fill);
}
}
}
echo "[";
for($i = 0; $i < count($zero); $i++) {
echo "[\"".$zero[$i]."\",0], ";
}
for($i = 0; $i < count($occurences); $i++) {
if($i == count($occurences)-1)
echo "[\"".$days[$i]."\",".($occurences[$days[$i]]-1)."]";
else {
echo "[\"".$days[$i]."\",".$occurences[$days[$i]]."], ";
}
}
echo "]";
?>
Как я мог применить это ко всем пользователям и узнать, кто вошел в наиболее для каждый день в базе данных? Выход кодируется для jqplot.
Ничего себе. Это так впечатляет. Большое вам спасибо, что я никогда не знал, что mysql может это сделать. Спасибо!! Ты спас меня так много времени! – user521903