【问题标题】:to get the value of selected month and print the dates获取所选月份的值并打印日期
【发布时间】:2017-06-01 10:55:40
【问题描述】:
<?php
    $month=array("January"=>"01","February"=>"02","March"=>"03","April"=>"04","May"=>"05","June"=>"06","July"=>"07","August"=>"08","September"=>"09",
    "October"=>"10","November"=>"11","December"=>"12");

    echo"<select name='month'>";
    echo"<option>-select-</option>";
    foreach($month as $key=>$value)
    {
        echo "<option value='".$value."'>".$key."</option>"."<br />";
    }

    echo"</select>";

    $input_month=$month;    
    $mkt = mktime(0,0,0,$input_month,1,date("Y"))   ;
    $date2 = date("Y-m-d",$mkt);    
    $end2= date("Y")."-".$input_month."-".date('t', strtotime($date2));
?>
<table>
   <tr>
   <?php while(strtotime($date2) <= strtotime($end2)) {
        $day_num = date('d', strtotime($date2));
        $day_name = date('l', strtotime($date2));
        $date2 = date("Y-m-d", strtotime("+1 day", strtotime($date2)));

        echo "<td>$day_num <br/> $day_name</td>";
   }
  ?>
  </tr>
</table>

在这里我希望,例如,如果我选择月份“May”,那么它的值“05”我应该得到它并将其分配给 $input_month,以便显示带有日期名称的选定月份的日期。

【问题讨论】:

    标签: php


    【解决方案1】:
    <!DOCTYPE html>
    <html lang="en">
        <body>
    
            <?php
            $month = array("January" => "1",
                "February" => "2",
                "March" => "3",
                "April" => "4",
                "May" => "5",
                "June" => "6",
                "July" => "7",
                "August" => "8",
                "September" => "9",
                "October" => "10",
                "November" => "11",
                "December" => "12");
            ?>
            <form>
                <select name="month">
                    <?php foreach ($month as $key => $value) { ?>
                        <option value="<?php echo $value; ?>">
                            <?php echo $key; ?>
                        </option>
                    <?php } ?>
                </select>
                <input type="submit" name="submit">
            </form>
            <?php
            if (isset($_GET['month'])) {
                $inputMonth = $_GET['month'];
                $mkt = mktime(0, 0, 0, $inputMonth, 1, date("Y"));
                $date2 = date("Y-m-d", $mkt);
                $end2 = date("Y") . "-" . $inputMonth . "-" . date('t', strtotime($date2));
                ?>
                <table>
                    <tr>
                        <?php
                        while (strtotime($date2) <= strtotime($end2)) {
                            $day_num = date('d', strtotime($date2));
                            $day_name = date('l', strtotime($date2));
                            $date2 = date("Y-m-d", strtotime("+1 day", strtotime($date2)));
    
                            echo "<td>$day_num <br/> $day_name</td>";
                        }// end while 
                        ?>
                    </tr>
                </table>
                <?php } //end if 
            ?>
        </body>
    </html>
    

    【讨论】:

    • $input_month= 我应该通过什么? $month 或 $value"
    • 它给出错误警告:mktime() 期望参数 4 很长,数组在 E:\xampp\htdocs\gg_hrms\date-final.php 第 29 行中给出 注意:数组到字符串的转换在 E:\xampp\htdocs\gg_hrms\date-final.php 第 32 行
    • 好吧,我刚刚更正了代码,好吧,我会给你完整的代码。
    • 感谢您的帮助但是我运行了这段代码,它没有显示输出,即日历没有显示
    • 您会看到类似月份下拉菜单的代码,选择任意月份并提交。你一定会得到答案的。
    【解决方案2】:

    如果要获取选择项的值,请使用:

    $month = $_POST['month'];
    

    你的问题让我不确定这是否都在同一个文件中。如果这不能解决您的问题,请在 cmets 中告诉我。

    【讨论】:

    • 所有代码都在同一个文件中。我已成功获得下拉列表中的值。我的问题是,如果我选择的月份超出了我想要的值并将其分配给 $input_month 变量,以便它可以计算所选月份的天数。如果您可以建议我任何其他简单的方法,那么完成我正在尝试的任务将会很有帮助。谢谢
    猜你喜欢
    • 1970-01-01
    • 2013-09-04
    • 1970-01-01
    • 2014-07-09
    • 1970-01-01
    • 2017-04-24
    • 2013-10-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多