Billy Grande
Billy Grande

Reputation: 587

how to keep value from dynamic select after submit in php

I have this code

<select id="menu" name="department">
    <?php
        //Get the departments and create the select menu dynamically
        include 'connect.php';
        $query = "SELECT* FROM department;";
        $result = mysqli_query($link,$query);
        $html = "";
        if($result){
            while ($obj = mysqli_fetch_object($result)) {
                $html.='<option value="'.$obj->dept_name.'">'.$obj->dept_name.'</option>';
            }
        } else {$html.='<p style="color:red;text-align:center">Θεμελιώδες λάθος κατά την ανάκτηση των τμημάτων</p>';}
            print $html;    
            mysqli_close($link);
        ?>
        </select>
        <?php
            if (isset($_POST['menu']))
                print '<script type="text/javascript">document.getElementById("menu").value = "'.$_POST['menu'].'";</script>';
        ?>

which is nested in a form tag that creates dynamically a select menu and I want to keep the selected value after the submission. It doesn't work. Any ideas why?

Upvotes: 0

Views: 949

Answers (1)

Sangita Kendre
Sangita Kendre

Reputation: 429

Where you are creating options dynamically add code to retain post value for select,something like,

$html .= '<option value="'.$obj->dept_name.'"';

if(isset($_POST['department']) && $_POST['department'] == $obj->dept_name){
  $html .= ' selected ';
}

$html .= '>'.$obj->dept_name.'</option>';

Upvotes: 2

Related Questions