в общем как грамотно сделать такую щтуку: в форме выбирается две даты(день,месяц,год) (дата1 всегда меньше дата2). обработчик же должен вывести разницу дней между этими датами. использовать селект в форме будет правильно?
PHP: <?php function date_diff( $date_last, $date_new) { $date_last=explode('.',$date_last); $date_new=explode('.',$date_new); $count_day=1; $count_month=0; $kk=true; $nn=true; while ($kk) { $count_month=$count_month+1; if ((mktime(0,0,0,$date_last[1]+$count_month,$da te_last[0],$date_last[2]))>(mktime(0,0,0,$date _new[1],$date_new[0],$date_new[2]))) { $count_month=$count_month -1; while ($nn) { if ((mktime(0,0,0,$date_last[1]+$count_month,$da te_last[0]+$count_day,$date_last[2]))==(mktim e(0,0,0,$date_new[1],$date_new[0],$date_new[2 ]))) $nn=false; else $count_day=$count_day+1; } } if ((mktime(0,0,0,$date_last[1]+$count_month,$da te_last[0]+$count_day,$date_last[2]))==(mktim e(0,0,0,$date_new[1],$date_new[0],$date_new[2 ]))) $kk=false; } $arr[]=$count_month; $arr[]=$count_day; return $arr; } $gg=date_diff('10.10.2001','11.11.2010'); print_r($gg); ?>
как вводить дату в форму? я имел ввиду чтоб юзер не вводил, а выбирал день, месяц, год 3 параметра. а обработчик уже из трех переменных делал дату и вычитал из второй первую.
PHP: <html> <form action="select1.php" method="post"> <select name="d"> <option value="1">1</option> <option value="2">2</option> <option value="3">3</option> <option value="4">4</option> <option value="5">5</option> <option value="6">6</option> <option value="7">7</option> </select> <select name="m"> <option value="1">1</option> <option value="2">2</option> <option value="3">3</option> <option value="4">4</option> <option value="5">5</option> <option value="6">6</option> <option value="7">7</option> </select> <select name="y"> <option value="2001">2001</option> <option value="2002">2002</option> <option value="2003">2003</option> <option value="2004">2004</option> <option value="2005">2005</option> <option value="2006">2006</option> <option value="2007">2007</option> </select> <input type="submit" value="Отправить"></p> </form> PHP: if (!empty($_POST) && is_numeric($_POST['m']) && is_numeric($_POST['d']) && is_numeric($_POST['y'])) { $date = "{$_POST['d']}.{$_POST['m']}.{$_POST['y']}"; }
вот получили две даты в переменных текстового типа. дальше конвертирую с помощью strtotime и все получается) спасибо!! другой вопрос, вот есть переменная в ней число. как мне значение этой переменной в обработчик отправить? чтоб юзер не видел.