Gfdadf
Новичок
Добрый день!
Подскажите, пожалуйста. Голова уже кипит.
Есть таблица profiles с полями id и date_of_birth.
date_of_birth - дата в формате "ГГГГ-ММ-ДД"
Нужно вывести таблицу в которой будет отображаться количество клиетов по возрасту.
15 лет - 6 шт
16 лет - 3 шт
и тд
Вот до чего я пока доковырялся.
Но это не то что мне нужно. Забурился до жути... и что-то мне подсказывает, что я не так и не туда копаю.
Подскажите, пожалуйста. Голова уже кипит.
Есть таблица profiles с полями id и date_of_birth.
date_of_birth - дата в формате "ГГГГ-ММ-ДД"
Нужно вывести таблицу в которой будет отображаться количество клиетов по возрасту.
15 лет - 6 шт
16 лет - 3 шт
и тд
Вот до чего я пока доковырялся.
PHP:
$query = "SELECT id, date_of_birth FROM profiles WHERE date_of_birth IS NOT NULL OR date_of_birth != '000-00-00' GROUP BY date_of_birth";
$query = mysql_query($query);//получил список дат без повторов
echo "<table border = '1'>";
while ($row = mysql_fetch_array($query))
{
$query1 = "SELECT id FROM profiles WHERE date_of_birth = '".$row['date_of_birth']."'";
$count_query = mysql_query($query1);//в цикле прогоняю каждую дату
$num_rows = mysql_num_rows( $count_query );//и подсчитываю сколько таких записей у меня есть
echo "<tr><td>".calculate_age($row['date_of_birth'])."</td><td>".$row['date_of_birth']."</td><td>".$num_rows."</td></tr>";//возраст - дата рождения - количество
}
echo "</table>";
PHP:
function calculate_age($birthday) {
$birthday_timestamp = strtotime($birthday);
$age = date('Y') - date('Y', $birthday_timestamp);
if (date('md', $birthday_timestamp) > date('md')) {
$age--;
}
return $age;
}