Если ставить тупо 06 07 то все ОК. НО, если 08 09 то увы не пашет... Однако 10 11 12 месяцы тоже ок.... ПОЧЕМУ? Код (Text): $mes = date('m'); echo ' <select style="width: 100px" name="month"> <option value="01"'; if ($mes == 01){echo' selected';} echo'>ßíâàðü</option> <option value="02"'; if ($mes == 02){echo' selected';} echo'>Ôåâðàëü</option> <option value="03"'; if ($mes == 03){echo' selected';} echo'>Ìàðò</option> <option value="04"'; if ($mes == 04){echo' selected';} echo'>Àïðåëü</option> <option value="05"'; if ($mes == 05){echo' selected';} echo'>Ìàé</option> <option value="06"'; if ($mes == 06){echo' selected';} echo'>Èþíü</option> <option value="07"'; if ($mes == 07){echo' selected';} echo'>Èþëü</option> <option value="08"'; if ($mes == 08){echo' selected';} echo'>Àâãóñò</option> <option value="09"'; if ($mes == 09){echo' selected';} echo'>Ñåíòÿáðü</option> <option value="10"'; if ($mes == 10){echo' selected';} echo'>Îêòÿáðü</option> <option value="11"'; if ($mes == 11){echo' selected';} echo'>Íîÿáðü</option> <option value="12"'; if ($mes == 12){echo' selected';} echo'>Äåêàáðü</option> </select>'.$mes.'';
Код (Text): $mes = date('n'); echo ' <select style="width: 100px" name="month"> <option value="01"'; if ($mes == 1){echo' selected';} echo'>январь</option> <option value="02"'; if ($mes == 2){echo' selected';} echo'>февраль</option> <option value="03"'; if ($mes == 3){echo' selected';} echo'>Март</option> <option value="04"'; if ($mes == 4){echo' selected';} echo'>Апрель</option> <option value="05"'; if ($mes == 5){echo' selected';} echo'>Май</option> <option value="06"'; if ($mes == 6){echo' selected';} echo'>Июнь</option> <option value="07"'; if ($mes == 7){echo' selected';} echo'>Июль</option> <option value="08"'; if ($mes == 8){echo' selected';} echo'>Агуст</option> <option value="09"'; if ($mes == 9){echo' selected';} echo'>Сентябрь</option> <option value="10"'; if ($mes == 10){echo' selected';} echo'>Октябрь</option> <option value="11"'; if ($mes == 11){echo' selected';} echo'>Ноябрь</option> <option value="12"'; if ($mes == 12){echo' selected';} echo'>Декабрь</option> </select>'.$mes.''; PHP убирает нули, так ему хочется
млин. я то это подозревал, но не совсем был уверен. 01 02 03 04 05 06 07 - проработали прекрасно... всю бошку сломал над 08 09. придецца делать через $mes = date('n'); ПАСИБО !
Код (PHP): $mes = date('n'); $month=array("январь", "февраль", "март", "апрель", "май", "июнь", "июль", "август", "сентябрь", "октябрь", "ноябрь", "декабрь"); echo "<select style=\"width: 100px\" name=\"month\">"; for($i=0;$i<12;$i++){ echo "<option value=\"".$i+1."\""; if ($mes==($i+1)){ echo " selected"; } echo ">".$month[$i]."</option>"; } echo "</select>".$mes;
Код (PHP): echo'<option value="'.($i+1).'"'.(($mes==($i+1))?' selected="selected"':'').'> '.$month[$i].' </option>';
Вы че тут обдолбились все, чтоли!? Логика у вас походу глубоко, глубоко в заднице, как и руки =) Нате блин играйтесь: Раз уже не в состояние придумать. Код (PHP): $mesname=array( '01'=>'Январь', '02'=>'Февраль', '03'=>'Март', '04'=>'Апрель', '05'=>'Май', '06'=>'Июнь', '07'=>'Июль', '08'=>'Август', '09'=>'Сентябрь', '10'=>'Октябрь', '11'=>'Ноябрь', '12'=>'Декабрь'); Код (PHP): function mes($mes='') {global $mesname; $echo='<select name="mes">'; foreach($mesname as $key => $val) { $echo.='<option value="'.$key.'"'.(((int)$mes==(int)$key)?' selected="selected"':'').'> '.$val.' </option>'; } $echo.='</select>'; return $echo; } Код (PHP): echo mes(); Код (PHP): echo mes(date('m')); Код (PHP): echo mes(date('m',1337503117));
Не поленился, даже ссылку дал... А мне вот расписывать не хотелось Код (Text): {global $mesname; Считаешь использовать в коде global хорошо? По мне это пережиток прошлого от которого давно надо было избавиться... Да и вообще использовать в качестве индексов массива 01 и т.д. не удобно.
Код (PHP): $mesname=array( '1'=>'Январь', '2'=>'Февраль', '3'=>'Март', '4'=>'Апрель', '5'=>'Май', '6'=>'Июнь', '7'=>'Июль', '8'=>'Август', '9'=>'Сентябрь', '10'=>'Октябрь', '11'=>'Ноябрь', '12'=>'Декабрь'); Код (PHP): $mesname=array( 1=>'Январь', 2=>'Февраль', 3=>'Март', 4=>'Апрель', 5=>'Май', 6=>'Июнь', 7=>'Июль', 8=>'Август', 9=>'Сентябрь', 10=>'Октябрь', 11=>'Ноябрь', 12=>'Декабрь'); Что изменится о знаток? А как нужно было сделать, о научи нас всех! По моему у тебя глаза закрыты или залиты, я не знаю =) Код (PHP): function mes($mes='') {global $mesname; static ты тут не напишешь. Тебя foreach пошлет. Или у тебя и foreach уже прошлая тема?)))
Спасибо за комплимент Станет удобно читать и работать. Лично мне не удобно когда индекс массива 01 и т.д. Зачем здесь static? Тебе это слово нравится В функцию всегда можно передать значение. Global уже никто не использует. Я предпочитаю циклы в стиле C++ Глупый спор, но если настаиваешь получай Код (Text): $cur_month = date('n'); $months = array( 1 => "январь", "февраль", "март", "апрель", "май", "июнь", "июль", "август", "сентябрь", "октябрь", "ноябрь", "декабрь"); echo month_select($cur_month, $months); function month_select($cur_month, $months){ $select = '<select>'; for($i=1;$i<=12;$i++){ $selected = ($cur_month == $i) ? '" selected="selected"' : '"'; $select .= '<option value"'.$i.$selected.'>'.$months[$i].'</option>'; } $select .= '</select>'; return $select; } Да, переменным надо давать понятные названия, а то $mesname без всего остального кода, вызывает ассоциации с message name.
У меня складывается впечатление, что тебе либо нечего сказать или же из-за скудного лексикона, тебе трудно выражать свои мысли. Если тебе нечего мне сказать - молчи, иначе обоснуй. Мне твой код то же не нравится, и я обосновал. Кстати я тебя не посылаю на говно код, хотя судя по твоему коду имею на это все основания.