|
|
|
| Помогите
Есть скрипт календаря. У бд поле з датой делается запись datetime. Вопрос, как взять информацию за какой то день
сам скриптт:
<?
Error_Reporting(E_ALL & ~E_NOTICE);
include("var.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=cccccc width=120 style="font-family: Tahoma;font-size: 8pt;">
<?
if ($c_top == 0) {print "<tr bgcolor=e7ebef><td colspan=7 align=center><b>$month_ru $year</b></td></tr>";}?>
<tr bgcolor=e7ebef style="font-weight: bold; text-align : center;">
<td>Пн</td>
<td>Вт</td>
<td>Ср</td>
<td>Чт</td>
<td>Пт</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=#ffffff> </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=#cccccc border=1 style=\"color: 000000\"><b>";
$putdate= $year."-".$month."-".$dats;
$news_result = mysql_query("select from news where putdate = ".'$putdate'.""); //
$news_rows = mysql_num_rows($news_result);
if($news_rows < 0)
{print "<a href=\"?data=$putdate\"><u>$dats</u></a>";}
else {echo $dats;}
print "</td>";}else{print "<td valign=\"middle\" align=\"center\" bgcolor=#ffffff style=\"color: 000000\">";
$putdate= $year."-".$month."-".$dats;
$news_result = mysql_query("select * from news where putdate= ".'$putdate'."");
$news_rows = mysql_num_rows($news_result);
if($news_rows >0) {?>
<a href="?data=<?= $year."-".$month."-".$dats;?>"><u><?=$dats;?></u></a>
<?}
else {echo $dats;}
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=ffffff> </td>\n\t";}
echo "</tr>";
if ($c_bottom==0) {
$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=#e7ebef>
<td valign=middle align=center colspan=7 style=\"padding-bottom: 0px;padding-top: 1px;\">
<a href=\"?data=$last_year\" title=\"Рік назад\"> << </a>
<a href=\"?data=$last_month\" title=\"Місяць назад\"> < </a>
<a href=\"?data=$next_month\" title=\"Місяць вперед \"> > </a>
<a href=\"?data=$next_year\" title=\"Рік вперед\"> >> </a></td>
</tr>";
}
?>
</table> | |
|
|
|
|
|
|
|
для: Volodymyr
(09.05.2007 в 22:56)
| | Имеется в виду при переходе по ссылке
<a href="?data=<?= $year."-".$month."-".$dats;?>"><u><?=$dats;?></u></a>
|
извлечь информацию из базы данных? Тогда можно поступить следующим образом
SELECT * FROM tbl WHERE putdate LIKE '$_GET[data]%'
|
PS Только проверьте при помощи регулярных сообщений, чтобы в $_GET[data] была действительно дата, а лучше передайте 3 отдельных параметра и пропустите их через функцию intval(). | |
|
|
|
|
|
|
|
для: cheops
(10.05.2007 в 13:18)
| | Ребята, а как это сделать? | |
|
|
|