Рисуем календарь. Не работают ссылки

Kostyab

Новичок
Рисуем календарь. Не работают ссылки

Рисуем кадендарь как написано в FAQ http://www.phpfaq.ru/calendar.
Работает изумительно. Если дата совпадает в выводимой в календаре, она оформляется ссылкой. У меня выводится только одна ссылка. Делаю так:
PHP:
$result=mysql_query("SELECT DISTINCT DATE_FORMAT(post_date, '%Y-%m-%d') FROM table");
$row=mysql_fetch_array($result);
my_calendar($row);
В базе для примера хранятся три даты:
PHP:
id | post_date                   | ...
 1 | 2006-03-10 00:00:00 |  
 2 | 2006-03-13 17:21:16 |
 3 | 2006-03-14 17:38:51 |
Календарь рисует только ссылку на дате 10.
Если же сделать так:
PHP:
$test=array("2006-03-11", "2006-03-12", "2006-03-04"); 
my_calendar($test);
Все выводится идеально: три ссылочки. В чем мой косяк?
 

Dim-Dim

looking...
В том, что в первом случае ты получаешь только 2006-03-10 и все

-~{}~ 14.03.06 19:34:

Kostyab
Читай, как правильно работать с БД.
 

Kostyab

Новичок
Пробовал так:
PHP:
$result=mysql_query("SELECT DATE_FORMAT(post_date, '%Y-%m-%d') as v FROM table");
while ($row=mysql_fetch_array($result))
{
echo "$row[v]<br>";
}
Получаем:
2006-03-10
2006-03-13
2006-03-14

Если сделать
PHP:
$result=mysql_query("SELECT DATE_FORMAT(post_date, '%Y-%m-%d') as v FROM table");
my_calendar(mysql_fetch_array($result));
выводит календать с активной датой 10
 

Wicked

Новичок
Если сделать

$result=mysql_query("SELECT DATE_FORMAT(post_date, '%Y-%m-%d') as v FROM table");
my_calendar(mysql_fetch_array($result));

выводит календать с активной датой 10
см.
В том, что в первом случае ты получаешь только 2006-03-10 и все

-~{}~ 14.03.06 19:34:

Kostyab
Читай, как правильно работать с БД.
 

Kostyab

Новичок
Хорошо.

$result=mysql_query("SELECT DATE_FORMAT(post_date, '%Y-%m-%d') as v FROM table");

Гружу этот запрос в phpMyAdmin и получаю выборку из трех значений:

2006-03-10
2006-03-13
2006-03-14

Почему? Где это можно прочесть? В чем может быть ошибка?
 

Фанат

oncle terrible
Команда форума
прочесть можно в статье "Вступление в пхп и мускуль" в разделе "Статьи" данного сайта.
Там, среди прочих, рассматривается ,пример, как получить из базы данных не одну строчку, а больше.
 

Kostyab

Новичок
Я все это прочитал.
>>>прочесть можно в статье "Вступление в пхп и мускуль"
там про эту проблему ни слова ни сказано.

>>>mysql_fetch_array -- выучил наизузть, все делаю как там сказано и как пользователи в комментариях пишут. Не получается вынуть из базы данных массив. В чем дело?
 

Andreika

"PHP for nubies" reader
Kostyab
$result=mysql_query("SELECT DATE_FORMAT(post_date, '%Y-%m-%d') as v FROM table");
while ($row=mysql_fetch_array($result))
{
echo "$row[v]<br>";
}

Получаем:
2006-03-10
2006-03-13
2006-03-14

ну получилось же? или нет? или ты не знаешь как строки в цикле в массив добавлять?
 

Kostyab

Новичок
У меня есть задача: нарисовать календарь.
Я нашел готовое решение: функцию my_calendar (в FAQ http://www.phpfaq.ru/calendar)
Функция выводит календарь на месяц и принимает аргументом массив с датами в формате ГГГГ-ММ-ДД.
Если дата совпадает в выводимой в календаре, она оформляется ссылкой.

Если я делаю тестовый массив руками:
PHP:
$test=array("2006-03-10", "2006-03-13", "2006-03-14"); 
my_calendar($test);
у меня рисуется календарь с тремя ссылками: на числах 10, 13 и 14.
Если я делаю выборку из базы данных как показано выше уже несколько раз (а мне так и надо для работы) -- выводится ссылка только на числе 10.

Иными словами, мне надо вынуть из базы данных значения дат так, чтобы функция my_calendar() их поняла бы. Вот это у меня почему-то не получается. Все ссылки, что мне посоветовали ребята выше, я изучил и не смог решить задачу.
 

Wicked

Новичок
Kostyab
Сам календарь работает правильно.

Я все это прочитал.
>>>прочесть можно в статье "Вступление в пхп и мускуль"
там про эту проблему ни слова ни сказано.
_Твоя_ проблема в том, что ты не знаешь, как из базы вытащить записи и составить из них такой же массив, который ты делал руками:
PHP:
$test=array("2006-03-10", "2006-03-13", "2006-03-14");
 
Сверху