Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Нужна помощь в релизации видео архива
 
 автор: TetRiska   (24.11.2008 в 21:21)   письмо автору
 
 

Результат должен быть таков:

                    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();
}


Вывело:
2008
2007


Остается вывести месяца для каждого года как по примеру, что в начале

Есть наброски как вывести года и месяца отдельно( в этом случае года повторяются):

$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
12
11
01
07
11
04


Как бы использовать 2-й пример в 1-м? К тем уже выбраным датам приписать список $month? Помогите переделать или есть более другие идеи?

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования