|
|
|
| Результат должен быть таков:
2008
|Январь|Февраль|Март|Апрель|Май|Июнь
|Июль|Август|Сентябрь|Октябрь|Ноябрь|Декабрь
2007
|Январь|Февраль|Март|Апрель|Май|Июнь
|Июль|Август|Сентябрь|Октябрь|Ноябрь|Декабрь
|
Тоесть выведет 2-а не повторяющихся года, и под ними выведет список месяцев которые принадлежат к определенному году...Если какогото месяца нет, мы вручную дописываем и делаем его не активным (без ссылки)...Пример:
2008
|Январь|Февраль|Март|Апрель|Май|Июнь
|Июль|Август|Сентябрь|Октябрь|Ноябрь|Декабрь
|
Тоесть 2008 году принадлежат 2 месяца, кот. ссылаются на др. страничку для выборки данных за этот месяц этого года, а все остальные месяца дописаны.
Как такое реализовать?
Вот пример как я реализовывал выборку дат 2008 и 2007:
$result4 = mysql_query("SELECT DISTINCT left(date,4) AS month FROM data ORDER BY month DESC",$db);
if (!$result4)
{
echo "<p>Запрос на выборку данных из базы не прошел! <br> <strong>Код ошибки:</strong></p>";
exit (mysql_error());
}
if (mysql_num_rows ($result4)>0)
{
$myrow4 = mysql_fetch_array($result4);
do
{
$full_d = $myrow4["month"];
$input = array($full_d);
$result22 = array_unique($input);
echo "<table class='post' cellspacing='0' cellpadding='0'>
<tr>
<td>$result22[0]</td>
</tr>
<tr>
<td>сюда вывод месяцов</td>
</tr>
</table>";
}
while ($myrow4 = mysql_fetch_array($result4));
}
else
{
echo "<p>В таблице нет записей!</p>";
exit();
}
|
Вывело:
Остается вывести месяца для каждого года как по примеру, что в начале
Есть наброски как вывести года и месяца отдельно( в этом случае года повторяются):
$result4 = mysql_query("SELECT DISTINCT left(date,7) AS month FROM data ORDER BY month DESC",$db); //выбираю не повторяющиеся даты и обрезаю им дни получаем 2008-11 к примеру
$myrow4 = mysql_fetch_array($result4); //массив содержит список всех дат формата ХХХХ-ХХ
do
{
$full_d = $myrow4["month"]; //переменной присваиваем все данные с массива
//echo $full_d; //выводит список...в нем попадаются 4-ри 2008 годов с месяцами и 2-а 2007 года с месяцами
list ($year,$month) = explode("-",$full_d); //разделяем год и месяц $year - год $month - месяц
//echo $year; // выводит тот же список но без месяцов
}
while ($myrow4 = mysql_fetch_array($result4));
|
Если используем второй вариант, то при ехо $year выведет список:
2008
2008
2008
2008
2007
2007
|
а при ехо $month
Как бы использовать 2-й пример в 1-м? К тем уже выбраным датам приписать список $month? Помогите переделать или есть более другие идеи? | |
|
|