How to get multiple selected values of select box in php?

Given a list of items and the task is to retrieve the multiple selected value from a select box using PHP.

Use multiple attribute in HTML to select multiple value from drop down list. Selecting multiple values in HTML depends on operating system and browser.

  • For window users – hold down + CTRL key to select multiple option
  • For mac users – hold down command key to select multiple option

Example: This example creates a list of items using HTML.

<html>
    <body>
        <form method = "post" action = "name.php">
            <h4>SELECT SUJECTS</h4>
            <!--Using multiple to select multiple value-->
            <select name = "subject" multiple size = 6>  
                <option value = "english">ENGLISH</option>
                <option value = "maths">MATHS</option>
                <option value = "computer">COMPUTER</option>
                <option value = "physics">PHYSICS</option>
                <option value = "chemistry">CHEMISTRY</option>
                <option value = "hindi">HINDI</option>
            </select>
            <input type = "submit" name = "submit" value = Submit>
        </form>
    </body>
</html>

Now, the task is to retrieve or print multiple selected value from list. Use form method and loop to retrieve selected value in PHP.

Example:

<html>
    <body>
        <!--name.php to be called on form submission-->
        <form method = 'post'
            <h4>SELECT SUJECTS</h4>
              
            <select name = 'subject[]' multiple size = 6>  
                <option value = 'english'>ENGLISH</option>
                <option value = 'maths'>MATHS</option>
                <option value = 'computer'>COMPUTER</option>
                <option value = 'physics'>PHYSICS</option>
                <option value = 'chemistry'>CHEMISTRY</option>
                <option value = 'hindi'>HINDI</option>
            </select>
            <input type = 'submit' name = 'submit' value = Submit>
        </form>
    </body>
</html>
<?php
      
    // Check if form is submitted successfully
    if(isset($_POST["submit"])) 
    {
        // Check if any option is selected
        if(isset($_POST["subject"])) 
        {
            // Retrieving each selected option
            foreach ($_POST['subject'] as $subject
                print "You selected $subject<br/>";
        }
    else
        echo "Select an option first !!";
    }
?>

Output:
image

Note: The form can be submitted using $_GET method. It depends on the form method=”?” value.



My Personal Notes arrow_drop_up

Check out this Author's contributed articles.

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.