How To Populate Drop Down List From Database Using PHP and MySQLi
In this tutorial, I will teach you how to Populate Drop Down List From Database Using PHP and MySQLi. This method has the ability to fill the data in a drop-down list form the MySQLi database.
This article can answer the question asked on another site.
Watch the video here before we proceed.
https://youtu.be/9BS8rFsN3qw
Follow the step by step procedure in Populating Drop Down List using PHP.

Lets Begin:
First, create a landing page and name it “index.php“.
Second, do the following code in the page that you have created.
<html> <!-- Put you mysqli connection here ................ --> <title>PHP SAMPLE SYSTEM</title> <header> <h1 align="center">Populate Drop Down List From Database Using PHP and MySQLi</h1> </header> <!-- Put your style layout here...... --> <body> <div id="box"> <div class="column"></div> <div class="column"> <div class="clear"></div> <label class="first-column ">Select a Book:</label><div class="clear"></div> <div class="clear"></div> </div> <div class="column"></div> </div> </body> </html>
#box{
width: 100%;
}
.column {
width: 33.33%;
display: inline-block;
}
.form{
padding: 2px;
width: 100%;
display: inline-block;
}
.first-column {
display: inline-block;
width: 100px;
height: 2px;
margin: 2px;
position: inherit;
}
.second-column{
display: inline-block;
width: 150px;
height: 2px;
margin: 2px;
position: inherit;
}
select {
width: 150px;
font-size: 12px;
height: 25px;
padding: 4px
}
.clear{
clear: left;
height: 15px;
}
<?php
$server="localhost";
$userid ="root";
$Password = "";
$myDB = "booksdb";$con = mysqli_connect($server,$userid,$Password,$myDB);if (mysqli_connect_errno()) {
# code...
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
?>
<?php
echo '<select>
<option>Select</option>';
$sqli = "SELECT * FROM tblbooks";
$result = mysqli_query($con, $sqli);
while ($row = mysqli_fetch_array($result)) {
echo '<option>'.$row['BookTitle'].'</option>';
}
echo '</select>';
?>You can watch the video here about the PHP CREATE, READ, UPDATE AND, DELETE SOURCE CODE to get the full idea on how to create a simple PHP CRUD.
Another freebie from the author, watch and download the full source code of Leave Management System in PHP.
You can also visit here the PHP Projects with source code free download if you are looking for some complete PHP projects with source code.
Or if you want a crash course in PHP, you check here the PHP and MySQL Tutorial for beginners in 7 days.
Inquiries
If you have any questions or suggestions about PHP and MySQLi database tutorial, please feel free to contact us at our contact page or simply leave a comment below.
Download the complete source code here.
Frequently Asked Questions
How does this PHP project work?
Built with vanilla PHP (no framework) and MySQL backend. Standard structure: form HTML, PHP script handlers, MySQL via PDO or mysqli, sessions for auth, Bootstrap for responsive layout. Ready to extend for BSIT capstone scope.
What PHP and MySQL versions does this project require?
Most projects in this batch run on PHP 7.4 to PHP 8.2 with MySQL 5.7+ or MariaDB 10+. A few older projects need PHP 5.6 (deprecated, use XAMPP 7.x). To run: install XAMPP / WAMP / Laragon, extract project to htdocs, import the included .sql file via phpMyAdmin, edit the connection file (usually config.php or db_connect.php) with your DB credentials, browse to the project URL in your browser.
How do I set up the database for this PHP project?
Open phpMyAdmin (http://localhost/phpmyadmin/ on XAMPP), create a new empty database with the name specified in the project’s config.php. Click the Import tab, choose the included .sql file, click Go. Then edit config.php (or includes/connection.php) with: ‘localhost’, your MySQL username (usually ‘root’), your MySQL password (usually blank for XAMPP), and the database name.
Can I use this PHP project for a BSIT capstone or thesis?
Yes, but extend it. A bare CRUD app is too narrow for full capstone scope. Add: user roles via session checks, reports/dashboards (Chart.js + AJAX), PDF exports (TCPDF library), email notifications (PHPMailer), real domain extension (analytics, audit log, multi-branch support). Pair with Chapter 1-5 documentation matching your panel’s rubric.
Why am I getting ‘connection error’ or ‘undefined function mysqli_connect’?
Three common PHP issues: (1) Connection error: Apache + MySQL services not running in XAMPP control panel, OR database name in config.php does not match what you created in phpMyAdmin. (2) ‘undefined function mysqli_connect’: MySQL extension not enabled, in php.ini uncomment extension=mysqli (then restart Apache). (3) ‘No such file or directory’: MySQL socket path wrong, use 127.0.0.1 instead of localhost in the connection string.
Where can I find more PHP projects with source code?
Browse the PHP Projects hub for the full library (300+ vanilla PHP systems). For modern PHP MVC alternatives see Laravel Projects (74 systems) or CodeIgniter Projects (32 systems). For BSIT-focused capstone idea lists see 150 Best Capstone Project Ideas.
