|
|
|
|
|
для: TetRiska
(20.11.2008 в 15:21)
| | Вот посидел и нашел выход как перевести:
$month_names = array
(1 => 'Январь',
2 =>'Февраль',
3 =>'Март',
4 =>'Апрель',
5 =>'Май',
6 =>'Июнь',
7 =>'Июль',
8 =>'Август',
9 =>'Сентябрь',
10 =>'Октябрь',
11 =>'Ноябрь',
12 =>'Декабрь'
);
$result4 = "2008-11";
list ($year,$date) = explode("-",$result4);
echo $month_names[$date], " " ,$year;
|
Выводит Ноябрь 2008 как и надо было, но есть одно НО...Как только в $result4 выполняю запрос
$result4 = mysql_query("SELECT DISTINCT left(date,7) AS month FROM data ORDER BY month DESC",$db);
|
который выберает не повторяющиеся даты и обрезает день, из чего получается 2008-11, выводятся следующие нотисы:
Notice: Undefined offset: 1 in k:\home\localhost\www\video_blog\blocks\righttd.php on line 103
103 -
list ($year,$date) = explode("-",$result4);
|
Notice: Undefined index: in k:\home\localhost\www\video_blog\blocks\righttd.php on line 104
-Resource id #8
104 -
echo $month_names[$date], "-" ,$year;
|
В чем же дело? :(
Я предпологаю что запрос нам возвращает 2008-11 в формате даты, тоесть нада ее конвертнуть? Или я ошибаюсь? | |
|
|
|
|
|
|
|
для: sim5
(20.11.2008 в 15:51)
| | Как точнее проверить то, что заносится в массив $myrow после выполнения запроса
$result4 = mysql_query("SELECT DISTINCT left(date,7) AS month FROM data ORDER BY month DESC",$db);
| ? Вывести на экран?, тоесть echo $myrow["month"]; ? После вывода имеем результат 2008-11... в базе поле с датой стоит по умолчанию 0000-00-00... | |
|
|
|
|
|
|
|
для: TetRiska
(20.11.2008 в 15:48)
| | Вот чтобы не терзать себя вопросами, проверьте то, что вы хотите преобразовать. Если вы передаете строку с датой, то ошибок не будет, конечно если у вас дата "не царского периода". | |
|
|
|
|
|
|
|
для: AcidTrash
(20.11.2008 в 15:31)
| | Нет не все...Выводятся те которые не повторяются, в запросе указано ж это
$result4 = mysql_query("SELECT DISTINCT left(date,7) AS month FROM data ORDER BY month DESC",$db);
|
и потом в цикле, который есть, прогоняются значения массива $myrow4
do
{
printf ("<p><a href='view_date.php?date=%s'>%s</a></p>", $myrow4["month"], $myrow4["month"]);
}
while ($myrow4 = mysql_fetch_array($result4));
}
|
я выше пример кода приводил, где идет формировка запроса и вывод...Остается правильно применить тот массив дат :( | |
|
|
|
|
|
|
|
для: TetRiska
(20.11.2008 в 15:25)
| | Как я понял у вас выводятся все даты из таблицы.
Тогда $myrow4 = mysql_fetch_array($result4) надо прогонять через цикл. | |
|
|
|
|
|
|
|
для: sim5
(20.11.2008 в 15:11)
| | Насколько я вижу, то в масиве лежит такая дата формата 2008-11 ...запросом
$result4 = mysql_query("SELECT DISTINCT left(date,7) AS month FROM data ORDER BY month DESC",$db);
| мы ее получили и записали в масив
$myrow4 = mysql_fetch_array($result4);
|
| |
|
|
|
|
|
|
|
для: AcidTrash
(20.11.2008 в 15:13)
| | Вписал, результат тот же | |
|
|
|
|
|
|
|
для: TetRiska
(20.11.2008 в 15:04)
| | А вы собственно пытаетесь strtotime`мить дескриптор запроса.
После строки с mysql_query, впишите
$result4=mysql_result($result4,0,"month");
|
| |
|
|
|
|
|
|
|
для: TetRiska
(20.11.2008 в 15:04)
| | Вы сперва проверьте результат своего запроса. | |
|
|
|
|
|
|
|
для: sim5
(20.11.2008 в 07:40)
| | После того как слепил такое:
$month_names = array
(1 => 'Январь',
'Февраль',
'Март',
'Апрель',
'Май',
'Июнь',
'Июль',
'Август',
'Сентябрь',
'Октябрь',
'Ноябрь',
'Декабрь'
);
$result4 = mysql_query("SELECT DISTINCT left(date,7) AS month FROM data ORDER BY month DESC",$db);
$result4 = strtotime($result4);
echo $month_names[date("n", $result4)] . " " . date("Y", $result4);
|
Получили и варнинг и нотис :(
Warning: date(): Windows does not support dates prior to midnight (00:00:00), January 1, 1970 in k:\home\localhost\www\video_blog\blocks\righttd.php on line 104
Notice: Undefined offset: 0 in k:\home\localhost\www\video_blog\blocks\righttd.php on line 104
|
| |
|
|
|
|