即使在php中提交表单后,仍保留选择框选择

时间:2014-08-08 09:30:47

标签: php html

我有一个页面,其中包含一个用于选择特定用户的选择框。我还有两个radiobuttons用于选择日期范围。此页面用于根据选择生成用户报告。 目前,当我选择用户和首选日期范围并单击提交按钮报告时,会正确生成,但我在提交框中的选择将在提交后重置为默认值。这里我的选择框是从mysql表填充的。

我的任务是即使在表单提交后也保留选择框值。我已经厌倦了很多方面,但没有任何效果。任何人都可以帮我解决这个问题..

这是我的代码:

HTML

<div class="box-container-toggle">
                <form class="form-horizontal" name="reportform" id="reportform" action="<?php echo $_SERVER['PHP_SELF'];?>" method="POST" >
                    <div class="box-content">

                            <fieldset>
                            <legend>Developer Reports</legend>

                            <div class="control-group">
                              <label class="control-label" for="select01">Select Developer</label>
                              <div class="controls">
                              <select id="select01" class="chzn-select" name="selectdev" onChange="getapp(this.value)">
                              <option value="">Select developer</option>
                              <?php

                              $qry="select user_id from tab_user_login where type='Developer' and status='approved'";
                              $res=mysql_query($qry);
                              while($row=mysql_fetch_array($res))
                              {
                                  $devid=$row[0];
                                  $qry1="select name from tab_user where user_id='$devid'";
                                  $res1=mysql_query($qry1);
                                  while($row1=mysql_fetch_array($res1))
                                  {
                              ?>
                                  <option value="<?php echo $devid;?>" <?php if($dev!="") { if($dev==$devid) {echo 'selected'; } } ?> ><?php echo $row1[0];?></option>
                                <?php
                                }
                                }
                                ?>
                                </select>
                              </div>
                            </div>



                            <h3> Select Date Range </h3>

                            <div class="control-group">
                            <div class="controls">
                            <label>
                            <input type="radio" name="selectdateradio" value="selectdaterange" onChange="enableblock()"> Select a Date Range
                            <div class="control-group"  id="daterange" style="display:none">
                              <label class="control-label" for="select01">Select Date</label>
                              <div class="controls">
                                <select id="select01" name="selectdate" id="selectdate" onChange="getYesterdaysDate(this.value)">
                                  <option value="Today" >Today</option>
                                  <option value="Yesterday" >Yesterday</option>
                                  <option value="Last 7 Days" >Last 7 Days</option>
                                  <option value="Last 30 Days" >Last 30 Days</option>
                                   <option value="This Week" >This Week</option>
                                  <option value="This Month" >This Month</option>
                                  <!--<option value="Last 6 Months" >Last 6 Months</option>-->
                                </select>
                                <input type="hidden" name="hiddendate" value="" > 
                                <input type="hidden" name="hiddennext" value="" >
                              </div>
                            </div>
                            </label>

                            <label>
                            <input type="radio" name="selectdateradio" value="selectcustomdate" onChange="enablecustomblock()"> Select Custom Date
                            <div class="control-group" id="customdaterange" style="display:none">
                            <div class="control-group">
                                <label class="control-label" for="date01">Start input</label>
                                <div class="input-append date datepicker" data-date="2012-02-12" data-date-format="yyyy-mm-dd">
                              <input name="start_date" id="start_date" type="text"/><span class="add-on "><i class="icon-calendar"></i></span>
                            </div> 
                                <!--<div class="controls">
                                    <input type="text" class="input-xlarge datepicker" name="start_date" id="start_date" onChange="show()"/>
                                </div>-->
                            </div>

                            <div class="control-group">
                                <label class="control-label" for="date01">End Date</label>
                                    <div class="input-append date datepicker" data-date="2012-02-12" data-date-format="yyyy-mm-dd">
                              <input name="end_date" id="start_date" type="text"/><span class="add-on "><i class="icon-calendar"></i></span>
                            </div>
                            <!--    <div class="controls">
                                    <input type="text" class="input-xlarge datepicker" name="end_date" id="end_date" onChange="show()"/>
                                </div> -->

                            </div>
                            </div>
                            </label>

                            </div>
                            </div>
                            <div class="form-actions">
                              <input type="submit" class="btn btn-primary" name="submit" value="Run Reports" >
                              <button type="reset" class="btn">Reset</button>
                            </div>
                            </fieldset>
                    </div>
                    </form>
                    <?php
                        if(isset($_POST['submit']))
                        {
                        $dev=$_POST['selectdev'];
                        $qryy1="select name from tab_user where user_id='$dev'";
                        $ress1=mysql_query($qryy1);
                        $roww1=mysql_fetch_array($ress1);
                        $devname=$roww1[0];
                        $selected=$_POST['selectdateradio'];
                        $customstart=$_POST['start_date'];
                        $customend=$_POST['end_date'];
                        $postdate=$_POST['selectdate'];
                        $hide=$_POST['hiddendate'];
                        $hidden=date("Y-m-d", strtotime($hide));
                        $hide1=$_POST['hiddennext'];
                        $hidden1=date("Y-m-d", strtotime($hide1));
                        date_default_timezone_set("Asia/Kolkata");
                        $today=date('Y-m-d');
                        /*$click=0;
                        $imp=0;
                        $install=0;
                        $rev=00.00;
                        $active=0;*/    
                        }
                        else
                        {

                        }
                        if($_POST['selectdev']=='')
                        $devname='All Developer';
                        if($_POST['selectdate']=='')
                        $postdate="";

                    ?>
                </div>

1 个答案:

答案 0 :(得分:1)

您必须在生成选择元素之前设置已发布变量。然后你可以检查当前的开发者

请在生成select元素之前尝试此代码(例如在<div class="box-container-toggle">上方):

<?php 
if(isset($_POST['selectdev']) && $_POST['selectdev']!='') {
    $selectdev = $_POST['selectdev'];
}
?>

然后使用您的检查条件如下

<select id="select01" class="chzn-select" name="selectdev" onChange="getapp(this.value)">
                              <option value="">Select developer</option>
                              <?php

                              $qry="select user_id from tab_user_login where type='Developer' and status='approved'";
                              $res=mysql_query($qry);
                              while($row=mysql_fetch_array($res))
                              {
                                  $devid=$row[0];
                                  $qry1="select name from tab_user where user_id='$devid'";
                                  $res1=mysql_query($qry1);
                                  while($row1=mysql_fetch_array($res1))
                                  {
                              ?>
                                  <option value="<?php echo $devid;?>" <?php if(isset($selectdev) && $selectdev==$devid) echo 'selected="selected"'; ?>  ><?php echo $row1[0];?></option>
                                <?php
                                }
                                }
                                ?>
                                </select>