Как построить график статистики? - PullRequest
2 голосов
/ 29 января 2012

Я хочу построить статистический график, который показывает, сколько пользователей зарегистрировалось в день, и, возможно, некоторые другие данные. У меня есть таблица MySql, в которой я храню дату регистрации и имена пользователей и т. Д.

Как мне построить такой график? Что мне для этого нужно?

Ответы [ 3 ]

3 голосов
/ 29 января 2012

Есть много способов построить график.Я могу придумать несколько методов, используйте тот, который вы считаете лучшим, в зависимости от ваших знаний.

В каждом случае вам нужно запросить базу данных.Итак, основы MySQL.

Затем вы можете либо создать граф на стороне сервера, зацикливая набор результатов и создавая граф с помощью простых HTML-элементов, либо используя библиотеку GD.

Или вы можете отправить набор результатов какОбъект JSON и создание графика на стороне клиента с использованием простых HTML-тегов div или холста.

Графы на стороне сервера намного проще, но их нельзя анимировать или обновлять без обновления страницы.Графы на стороне клиента требуют дополнительных знаний (JSON, безопасность и т. Д.)

3 голосов
/ 29 января 2012

Вам не всегда нужно делать что-то, используя настоящую графику.

<?php

// mysql connection setup
// ...

// Get the dates in a single SELECT.  2592000 seconds = 30 days
$result = mysql_query("SELECT regdate FROM users WHERE regdate > NOW()-2592000");

foreach ($row = mysql_fetch_row($result)) {
  $output[date("Y-m-d", strtotime($row['regdate']))]++;
}

$fmt = '  <tr><td>%s</td><td width="%s" background="#FF0000"> </td></tr>' . "\n";

?>
<table border="0" cellspacing="0" cellpadding="0"><tr height="100">
<?php

for ($date = time()-2592000; $date < time(); date += 86400) {
  $thisdate = date("Y-m-d", $date);
  printf($fmt, $thisdate, $output[$thisdate]);
}

?>
</tr></table>

?>

Не проверено, очевидно.Возможно, неполный.YMMV.Соль по вкусу.

0 голосов
/ 29 января 2012

Если вам нужны только гистограммы, вам может быть гораздо лучше использовать div s расчетной высоты, все привязанные к нижней строке.Это довольно тривиально для написания и использует гораздо меньше ресурсов процессора, оперативной памяти и полосы пропускания.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...