|
|
|
| Здравствуйте, возникла неболшая потребность выводить дату и год текстом, а не цифровыми значениями... данный код выводит:
<td valign=middle align=center colspan=7 style=\"padding-bottom: 0px;padding-top: 2px;\">
<a href=\"index.php?data=$last_year\" title=\"Год назад\"><img src=\"$script_dir/cpanel/img/arrow_l.gif\" border=0></a>
<a href=\"index.php?data=$last_month\" title=\"Месяц назад\">$last_month</a>
<a href=\"/\"><img src=\"$script_dir/cpanel/img/px.gif\" width=1 height=1 border=0></a>
<a href=\"index.php?data=$next_month\" title=\"Месяц вперед\">$next_month</a>
<a href=\"index.php?data=$next_year\" title=\"Год вперед\"><img src=\"$script_dir/cpanel/img/arrow_r.gif\" border=0></a></td>
|
Месяц назад - 2009-9-12
Месяц вперед - 2009-11-12
Год назад 2008-10-12
Год вперед 2010-10-12
Нужно вывести текстом:
Месяц назад - Сентябрь
Месяц вперед - Ноябрь
Год назад - 2008
Год вперед - 2010
Сам код календаря:
<?
include("cpanel/lib.php");
$now_month = date("n",time());
$now_year = date("Y",time());
$now_today = date("j", time());
if (isset($_GET['data'])) {
$data = $_GET['data'];
$exdata = explode("-", $data);
$month = intval($exdata[1]);
if ($month < 1) { $month = 12; }
if ($month > 12) { $month = 1; }
$today = intval($exdata[2]);
$year = intval($exdata[0]);
}else{
$month = $now_month;
$year = $now_year;
$today = $now_today;
}
$dayone = date("w",mktime(1,1,1,$month,1,$year));
$numdays = date("t",mktime(1,1,1,$month,1,$year));
if ($today > $numdays) { $today--; }
if($month == "1" ){$month_ru="Январь";}
elseif($month == "2" ){$month_ru="Февраль";}
elseif($month == "3" ){$month_ru="Март";}
elseif($month == "4" ){$month_ru="Апрель";}
elseif($month == "5" ){$month_ru="Май";}
elseif($month == "6" ){$month_ru="Июнь";}
elseif($month == "7" ){$month_ru="Июль";}
elseif($month == "8" ){$month_ru="Август";}
elseif($month == "9" ){$month_ru="Сентябрь";}
elseif($month == "10"){$month_ru="Октябрь";}
elseif($month == "11"){$month_ru="Ноябрь";}
elseif($month == "12"){$month_ru="Декабрь";}
if(checkdate($month,29,$year) && $month==2) {
//echo "это 29 мес!!! ";
$dayone=7;
}
?>
<table border=0 cellspacing=1 cellpadding=1 bgcolor=000000 width=250 style="font-family: verdana;font-size: 8pt;">
<?
if ($c_top == 1) {print "<tr bgcolor=000000><td colspan=7 align=center><b><font color=ffffff>$month_ru $year</font></b></td></tr>";}?>
<tr bgcolor=000000 style="font-weight: bold; text-align : center;">
<td><font color=ffffff>Пн</font></td>
<td><font color=ffffff>Вт</font></td>
<td><font color=ffffff>Ср</font></td>
<td><font color=ffffff>Чт</font></td>
<td><font color=ffffff>Пт</font></td>
<td><font color=ff0000>Сб</font></td>
<td><font color=ff0000>Вс</font></td>
</tr>
<tr>
<?
//выводим пустые дни месяца как пробелы
if ($dayone == 0) {$dayone=7;}
for ($i = 0; $i < ($dayone-1); $i++) {print "<td bgcolor=#000000> </td>\n\t";}
//выводим дни месяца
for ($dats = 1; $dats <= $numdays; $dats++) {
if ($i >= 7) {print "</tr>\n\t<tr>";$i=0; }
if ($dats == $today) {print "<td valign=\"middle\" align=\"center\" bgcolor=#000000 border=1 style=\"color: 000000\"><b>";
$news_date = $year."-".$month."-".$dats;
$news_result = mysql_query("select * from ".$table_news." where news_date = '".$news_date."' ");
$news_rows = mysql_num_rows($news_result);
if($news_rows >0){print "<a href=\"index.php?data=$news_date\"><u><font color=ff0000>$dats</font></u></a>";}else {echo $dats;}
print "</td>";}else{print "<td valign=\"middle\" align=\"center\" bgcolor=#000000 style=\"color: 000000\">";
$news_date = $year."-".$month."-".$dats;
$news_result = mysql_query("select * from ".$table_news." where news_date = '".$news_date."' ");
$news_rows = mysql_num_rows($news_result);
if($news_rows >0) {?>
<a href="index.php?data=<?=$year."-".$month."-".$dats;?>"><u><font color=c0c0c0><?=$dats;?></font></u></a>
<?}
else {echo "<font color=ffffff>". $dats ."</font>";}
echo "</td>\n\t";
}
$i++;
}
$create_emptys = 7 - ((($dayone-1) + $numdays) % 7);
if ($create_emptys == 7) { $create_emptys = 0; }
//выводим пустые ячейки
for ($i = 0; $i < $create_emptys; $i++) {echo "<td bgcolor=000000> </td>\n\t";}
echo "</tr>";
if ($c_bottom==1) {
$next_year = $year+1 ."-".$month."-".$now_today;
$last_year = $year-1 ."-".$month."-".$now_today;
if ($month == 12) {$next_month = $year+1 ."-1-".$now_today;}else{$next_month = $year."-".($month+1)."-".$now_today;}
if ($month == 1) {$last_month = $year-1 ."-12-".$now_today;}else{$last_month = $year."-".($month-1)."-".$now_today;}
print "
<tr bgcolor=#000000>
<td valign=middle align=center colspan=7 style=\"padding-bottom: 0px;padding-top: 2px;\">
<a href=\"index.php?data=$last_year\" title=\"Год назад\">$last_year</a>
<a href=\"index.php?data=$last_month\" title=\"Месяц назад\">$last_month</a>
<a href=\"/\"><img src=\"$script_dir/cpanel/img/px.gif\" width=1 height=1 border=0></a>
<a href=\"index.php?data=$next_month\" title=\"Месяц вперед\">$next_month</a>
<a href=\"index.php?data=$next_year\" title=\"Год вперед\">$next_year</a></td>
</tr>";
}
?>
</table>
|
Как можно реализовать это? вижу что это простая задача но недоходит как... | |
|
|
|
|
|
|
|
для: zetrider
(12.10.2009 в 12:11)
| | С годом разобрался:
$next_year_text = $year+1;
$last_year_text = $year-1;
и подставляем переменные в print, а как с месяцем быть? | |
|
|
|
|
|
|
|
для: ZetRider
(12.10.2009 в 12:47)
| | добавляю переменные
$next_month_text = $month+1;
$last_month_text = $month-1;
выводит цифрами,.. и все правильно след и предыдущий месяц... но мне нужно текстом чтобы вывел | |
|
|
|
|
|
|
|
для: ZetRider
(12.10.2009 в 21:38)
| | Попробуйте, за место $month писать $month_ru.... | |
|
|
|
|
|
|
|
для: Diplex
(12.10.2009 в 21:56)
| | так пробывал он выводит
< -1 1 > | |
|
|
|
|
|
|
|
для: ZetRider
(12.10.2009 в 21:57)
| |
$next_year = $year+1 ."-".$month."-".$now_today;
$last_year = $year-1 ."-".$month."-".$now_today;
|
в этих строчках, пробовали менять? | |
|
|
|
|
|
|
|
для: Diplex
(12.10.2009 в 22:02)
| | это год, с годом разобрался щас вся проблема в том чтобы вывести месяц не цифрой а текстом... | |
|
|
|
|
|
|
|
для: ZetRider
(12.10.2009 в 22:03)
| | вот строчки отвечают за месяц, их я использую как ссылку для перехода на след или предыдущий месяц...
if ($month == 12) {$next_month = $year+1 ."-1-".$now_today;}else{$next_month = $year."-".($month+1)."-".$now_today;}
if ($month == 1) {$last_month = $year-1 ."-12-".$now_today;}else{$last_month = $year."-".($month-1)."-".$now_today;}
|
вот переменные котрые использую для вывода названия месяца след или предыдущего:
$next_month_text = $month+1;
$last_month_text = $month-1;
|
но проблема в том что он выводит цифры месяцев, а нужно чтобы он вывел названия месяцев | |
|
|
|
|
|
|
|
для: ZetRider
(12.10.2009 в 22:10)
| | попробуйте так:
$nzmes = array('','январь','февраль','март','апрель','май','июнь','июль','август','сентябрь','октябрь','ноябрь','декабрь');
if ($month == 12) {$next_month = 'январь';}else{$mm = $month+1; $next_month = $nzmes[$mm];}
if ($month == 1) {$last_month = 'декабрь';}else{$mm = $month-1; $last_month = $nzmes[$mm];}
|
| |
|
|
|
|
|
|
|
для: Diplex
(12.10.2009 в 22:15)
| | большое спасибо | |
|
|
|