antoneskoV
Новичок
Есть движок выдачи новостей за определенный промежуток времени. Вопрос в каком формате вноситься дата диапазона!? И как правильно прописать массив в этот движок.
Общий код движка
Код с моими рассуждениями
Здесь задается диапазон новостей в виде формы выбора года месяца и дня значения которых вносятся в переменную $tofrom.
Далее идет форма для внесения значений в javascript. Переменные передаются как diapazon('from') и diapazon('to'). Сразу вопрос что заключено в diapazon('from') дата вида например 2010-11-18 или????? Как мне заменить diapazon('from') и diapazon('to') на массив и в каком виде я должен внести в него переменные даты.
И сам javascript. Значения даты я так понимаю вносятся этим кодом такого вида
Как мне поменять здесь на массив или переменную?
Общий код движка
PHP:
<?
function diapazon($tofrom)
{
?> <select title="день" name="day_<?=@$tofrom?>">
<?
for ($i = 1; $i <= 31; $i++) {
echo '<option value="'.$i.'"';
if ($i == date("d")) {echo ' selected="selected"';}
echo '>'.$i.'</option>';}
?>
</select><!--дд-->
<select title="місяць" name="month_<?=@$tofrom?>">
<?
for ($i = 1; $i <= 12; $i++) {
echo '<option value="'.$i.'"';
if ($i == date("m")) {echo ' selected="selected"';}
echo '>'.$i.'</option>';}
?>
</select><!--мм-->
<select title="рік" name="year_<?=@$tofrom?>">
<?
for ($i = 2009; $i <= date("Y"); $i++) {
echo '<option value="'.$i.'"';
if ($i == date("Y")) {echo ' selected="selected"';}
echo '>'.$i.'</option>';}
?>
</select>
<?
}
?>
<script language="javascript">
function submitCalendar() {
var showUrl = "index.php?lng=<?=@$lng?>&cont=news&wid=5";
var from = "&from="
var to = "&to="
var from_y = Number(document.calendar.year_from.options[document.calendar.year_from.selectedIndex].value);
var from_m = Number(document.calendar.month_from.options[document.calendar.month_from.selectedIndex].value);
var from_d = Number(document.calendar.day_from.options[document.calendar.day_from.selectedIndex].value);
from = from + from_y + '-' + from_m + '-' + from_d;
var to_y = Number(document.calendar.year_to.options[document.calendar.year_to.selectedIndex].value);
var to_m = Number(document.calendar.month_to.options[document.calendar.month_to.selectedIndex].value);
var to_d = Number(document.calendar.day_to.options[document.calendar.day_to.selectedIndex].value);
to = to + to_y + '-' + to_m + '-' + to_d;
if(from_y > to_y){
alert('невірно задано рік');
}else if((from_y == to_y) && (from_m > to_m)){
alert('невірно задано місяць');
}else if((from_y == to_y) && (from_m == to_m) && (from_d > to_d)){
alert('невірно задано день');
}else {
showUrl = showUrl + from + to;
document.location.replace(showUrl);
}
}
</script>
<form name="calendar" method="post">
<table width="166" border="0" cellpadding="0" cellspacing="0">
<tr><td class="calendar" align="center" nowrap="nowrap"><center><?=@$s[52]?></center></td></tr>
<tr><td class="calendar" align="center" nowrap="nowrap"><?diapazon('from');?></td></tr>
<tr><td class="calendar" align="center" nowrap="nowrap"><?=@$s[53]?></td></tr>
<tr><td class="calendar" align="center" nowrap="nowrap"><?diapazon('to');?></td></tr>
<tr><td class="buttlink" align="center" nowrap="nowrap">[<a class="buttlink" href="javascript:%20submitCalendar();"><?=@$s[54]?></a>]</td></tr>
</table></form>
Здесь задается диапазон новостей в виде формы выбора года месяца и дня значения которых вносятся в переменную $tofrom.
PHP:
<?
function diapazon($tofrom)
{
?> <select title="день" name="day_<?=@$tofrom?>">
<?
for ($i = 1; $i <= 31; $i++) {
echo '<option value="'.$i.'"';
if ($i == date("d")) {echo ' selected="selected"';}
echo '>'.$i.'</option>';}
?>
</select><!--дд-->
<select title="місяць" name="month_<?=@$tofrom?>">
<?
for ($i = 1; $i <= 12; $i++) {
echo '<option value="'.$i.'"';
if ($i == date("m")) {echo ' selected="selected"';}
echo '>'.$i.'</option>';}
?>
</select><!--мм-->
<select title="рік" name="year_<?=@$tofrom?>">
<?
for ($i = 2009; $i <= date("Y"); $i++) {
echo '<option value="'.$i.'"';
if ($i == date("Y")) {echo ' selected="selected"';}
echo '>'.$i.'</option>';}
?>
</select>
<?
}
?>
HTML:
<form name="calendar" method="post">
<table width="166" border="0" cellpadding="0" cellspacing="0">
<tr><td class="calendar" align="center" nowrap="nowrap"><center><?=@$s[52]?></center></td></tr>
<tr><td class="calendar" align="center" nowrap="nowrap"><?diapazon('from');?></td></tr>
<tr><td class="calendar" align="center" nowrap="nowrap"><?=@$s[53]?></td></tr>
<tr><td class="calendar" align="center" nowrap="nowrap"><?diapazon('to');?></td></tr>
<tr><td class="buttlink" align="center" nowrap="nowrap">[<a class="buttlink" href="javascript:%20submitCalendar();"><?=@$s[54]?></a>]</td></tr>
</table></form>
PHP:
var from_y = Number(document.calendar.year_from.options[document.calendar.year_from.selectedIndex].value);
var from_m = Number(document.calendar.month_from.options[document.calendar.month_from.selectedIndex].value);
var from_d = Number(document.calendar.day_from.options[document.calendar.day_from.selectedIndex].value);