How to Insert Select Option Value in Database Using PHP & MySQL

In this tutorial, You will learn to insert select option values in the database using PHP & MySQL with some simple steps. These steps are very easy to understand and implement in web applications.

Here, I have taken only a single dropdown input field to store select option values in the database. Once you learn it, you will easily customize it according to your project requirement.

php insert select option in database

How to Store Dropdown Value in Database in PHP

Before getting started it’s coding, you should create the following folder structure –

codingstatus/
     |__database.php
     |__ select-option.php
     |__ insert-option.php

Learn Also –

How to write Start Pattern Programs in PHP

Insert Data into Database using PHP & MySQL

Delete Multiple Records with  Checkbox in PHP & MySQL

Integrate Google ReCAPTCHA in PHP

Now, let’s start to store dropdown values in the database step by step –

1. Create SQL Database & Table

First of all, You will have to create a database with the name of “codingstatus”.

Database Name – codingstatus

CREATE DATABASE codingstatus;

After that, create a table with the name of “courses”  in the database “codingstatus.

Table Name – courseses

CREATE TABLE `courses` (
`id` int(10) UNSIGNED PRIMARY KEY NOT NULL AUTO_INCREMENT,
`courseName` varchar(255) DEFAULT NULL,
);

2. Connect PHP to MySQL

To insert select option value in the database, you must connect PHP to MySQL database with the help of the following query.

Where –

  • $hostName – It must contain hostname.
  • $userName – It must contain username of the database.
  • $password – It must contain password of the database
  • $database – It must contain database name.

File Name – database.php

<?php
$hostName = "localhost";
$userName = "root";
$password = "";
$databaseName = "codingstatus";

 $conn = new mysqli($hostName, $userName, $password, $databaseName);
// Check connection
if ($conn->connect_error) {
  die("Connection failed: " . $conn->connect_error);
}

?>

3. Create Input Field for Select Option

Here, I have created a single dropdown input field with some select options that contain some course name.

File Name – select-option.php

<form action="" method="post">
<select name="courseName">
  <option value="">Select Course</option>
  <option value="web Designing">Web Designing</option>
  <option value="web Development">Web Development</option>
  <option value="app Development">app development</option>
  <option value="game development">Game Development</option>
  <option value="graphic Designing">Graphic Desiging</option>
  <option value="digital marketing">Digital Marketing</option>
</select>
<input type="submit" name="submit">
</form>

4. Insert Select Option in Database

To insert select option in the database, you will have to implement the following steps to write its code –

Step-1: First of all, apply if condition withisset($_POST[‘submit’]) to check form is set or not

Step-2: Assign course name input to the variable $courseName

Step-3: check course name is empty or not using empty() with if statement. if it is true then follow the next step

Step-4: write MySQL insert query to insert the select option value in the “courses” table

Step-5: if select option is inserted into database successfully then print a success message

File Name – insert-option.php

<?php 
if(isset($_POST['submit'])){
  $courseName = $_POST['courseName'];
  if(!empty($courseName)){
      $query = "INSERT INTO courses (courseName) VALUES('$courseName')";
      $result = $conn->query($query);
      if($result){
      	echo "Course is inserted successfully";
      }	
    }
  }

?>

Insert Select Option Value with another Input Value using PHP & MySQL

Now, You will learn to insert a section option value with another input field like fullName into another table. In the previous step, we have inserted static option values. But In this step, We will display select option values from a database and then insert them into another table of the same database

Before getting started, You will have to create the following two files –

  • insert-form.php
  • insert-script.php

Also, Create another table Name – students with the help of the following query –

CREATE TABLE `students` (
`id` int(10) UNSIGNED PRIMARY KEY NOT NULL AUTO_INCREMENT,
`fullName` varchar(255) DEFAULT NULL,
`courseName` varchar(255) DEFAULT NULL,
);

Create a form and display select option values

First of all, Include database.php and insert-script.php file

Then create an HTML form with a select option & text input field and display data from the database in the select option

File Name – insert-form.php

<?php
include("database.php");
include("insert-script.php");
?>
<form action="" method="post">
<input type="text" name="fullName" value="">
<select name="courseName">
    <option value="">Select Course</option>
    <?php 
    $query ="SELECT courseName FROM courses";
    $result = $conn->query($query);
    if($result->num_rows> 0){
        while($optionData=$result->fetch_assoc()){
        $option =$optionData['courseName'];
    ?>
    <?php
    //selected option
    if(!empty($courseName) && $courseName== $option){
    // selected option
    ?>
    <option value="<?php echo $option; ?>" selected><?php echo $option; ?> </option>
    <?php 
continue;
   }?>
    <option value="<?php echo $option; ?>" ><?php echo $option; ?> </option>
   <?php

    }}
    ?>
</select>
<br>

<input type="submit" name="submit">
</form>


Insert Select Option value & Text Input Value

In this step, Write a MySQL query to insert select option value and text input value into the dabase.

File Name – insert-script.php

<?php 
if(isset($_POST['submit'])){

  $fullName = $_POST['fullName'];
  $courseName = $_POST['courseName'];

     if(!empty($fullName) && !empty($courseName)){
      $query = "INSERT INTO students (fullName, courseName) VALUES('$fullName', '$courseName')";
      $result = $conn->query($query);
     
      if($result){
      	echo "Student detail is inserted successfully";
      }	
    }
  }

?>