{"id":1480,"date":"2017-05-08T15:35:28","date_gmt":"2017-05-08T10:05:28","guid":{"rendered":"https:\/\/pheonixsolutions.com\/blog\/?p=1480"},"modified":"2026-09-28T20:48:40","modified_gmt":"2026-09-28T15:18:40","slug":"dynamic-drop-down-list-using-html-php-mysql","status":"publish","type":"post","link":"https:\/\/pheonixsolutions.com\/blog\/dynamic-drop-down-list-using-html-php-mysql\/","title":{"rendered":"How to Create a Dynamic Dropdown List Using HTML, PHP, and MySQL"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\"><strong>Post Date<\/strong>: May 08, 2017<br><strong>Last Updated<\/strong>: September 28, 2026<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Introduction<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">A dynamic dropdown list allows users to select an option from a list of values retrieved from a database. In this post, we will explain how to create a dynamic dropdown list using <strong>HTML, PHP, and MySQL<\/strong>. The example demonstrates how to retrieve country names from a MySQL table and display them dynamically within an HTML <code>&lt;select><\/code> element.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Prerequisites<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Before creating the dynamic dropdown list, ensure the following requirements are available:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>A web server such as <strong>Apache<\/strong> or <strong>Nginx<\/strong>.<\/li>\n\n\n\n<li><strong>PHP<\/strong> installed and configured on the server.<\/li>\n\n\n\n<li><strong>MySQL<\/strong> database server.<\/li>\n\n\n\n<li>Basic knowledge of <strong>HTML, PHP, and MySQL<\/strong>.<\/li>\n\n\n\n<li>A MySQL database with permission to create tables and execute queries.<\/li>\n\n\n\n<li>A PHP file such as <code>dropdown.php<\/code> to implement the dynamic dropdown list.<\/li>\n<\/ul>\n\n\n<h2>Implementation<\/h2>\n<p>Step 1: Create a new file, dropdown.php<\/p>\n<p>Step 2: Create MySQL connection code inside dropdown.php<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"php\">$mysqlserver=\"localhost\";\n$mysqlusername=\"root\";\n$mysqlpassword=\"\";\n$link=mysql_connect($mysqlserver, $mysqlusername, $mysqlpassword) or die (\"Error connecting to mysql server: \".mysql_error());\n$dbname = 'test';\nmysql_select_db($dbname, $link) or die (\"Error selecting specified database on mysql server: \".mysql_error());<\/pre>\n<p>Step 3: Create a MySQL table ls_countries<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"sql\">CREATE TABLE `ls_countries` (  `country_id` int(11) NOT NULL AUTO_INCREMENT,  `sortname` varchar(3) NOT NULL,  `name` varchar(150) NOT NULL,  `phonecode` int(11) NOT NULL,  `status` int(11) NOT NULL COMMENT '1-&gt;active,0-&gt;deactive',  PRIMARY KEY (`country_id`)) ENGINE=InnoDB AUTO_INCREMENT=247 DEFAULT CHARSET=utf8<\/pre>\n<p>Step 4: Create a drop-down list dynamically using the following code<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"php\">&lt;select&gt;\n  &lt;option&gt;Select Country&lt;\/option&gt;\n  &lt;?php\n   $cdquery=\"SELECT * FROM ls_countries\";\n            $cdresult=mysql_query($cdquery) or die (\"Query to get data from firsttable failed: \".mysql_error());\n            \n            while ($cdrow=mysql_fetch_array($cdresult)) {\n            $cdTitle=$cdrow[\"name\"];\n                echo \"&lt;option&gt;$cdTitle &lt;\/option&gt;\";\n            \n            }\n  ?&gt;\n&lt;\/select&gt;<\/pre>\n<p>We are\u00a0 following the above steps and getting code like this<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"php\">&lt;?php \n$mysqlserver=\"localhost\";\n$mysqlusername=\"root\";\n$mysqlpassword=\"\";\n$link=mysql_connect($mysqlserver, $mysqlusername, $mysqlpassword) or die (\"Error connecting to mysql server: \".mysql_error());\n$dbname = 'linus';\nmysql_select_db($dbname, $link) or die (\"Error selecting specified database on mysql server: \".mysql_error());\n?&gt;\n&lt;!DOCTYPE html&gt;\n&lt;html&gt;\n&lt;head&gt;\n  &lt;title&gt;Drop Down Using Php&lt;\/title&gt;\n&lt;\/head&gt;\n&lt;body&gt;\n&lt;select&gt;\n  &lt;option&gt;Select Country&lt;\/option&gt;\n  &lt;?php\n   $cdquery=\"SELECT * FROM ls_countries\";\n            $cdresult=mysql_query($cdquery) or die (\"Query to get data from firsttable failed: \".mysql_error());\n            \n            while ($cdrow=mysql_fetch_array($cdresult)) {\n            $cdTitle=$cdrow[\"name\"];\n                echo \"&lt;option&gt;$cdTitle &lt;\/option&gt;\";\n            \n            }\n  ?&gt;\n&lt;\/select&gt;\n&lt;\/body&gt;\n&lt;\/html&gt;\n<\/pre>\n\n\n<h2 class=\"wp-block-heading\">Conclusion<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">In this post, we have explained how to create a dynamic dropdown list using <strong>HTML, PHP, and MySQL<\/strong>. The PHP code connects to the MySQL database, retrieves country names from the <code>ls_countries<\/code> table, and dynamically generates the dropdown options. This approach can be extended to populate dropdown lists with other database-driven values such as states, cities, categories, or products.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">FAQs<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>1. How can I create a dynamic dropdown list using PHP?<\/strong><br>You can retrieve the required values from a MySQL database using PHP and generate <code>&lt;option&gt;<\/code> elements dynamically inside an HTML <code>&lt;select&gt;<\/code> element.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>2. Can I populate a dropdown list with data from a MySQL database?<\/strong><br>Yes. PHP can execute a MySQL query, fetch the records, and display the retrieved values as dropdown options.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>3. Can the dynamic dropdown list be used for states, cities, or categories?<\/strong><br>Yes. The same approach can be used to dynamically populate dropdown lists with states, cities, categories, products, or any other database records.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Related Articles<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/pheonixsolutions.com\/blog\/how-to-disable-lock-a-mysql-user-account-from-cli\/\">How to Disable\/Lock a MySQL User Account from CLI<\/a><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Talk to our experts<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Looking for the right technology solution for your business?. Our experts can help with\u00a0web hosting, domain registration, DevOps and cloud, software development, web applications, mobile applications, and enterprise solutions. Get in touch with our team\u00a0<a href=\"https:\/\/pheonixsolutions.com\/contact\" target=\"_blank\" rel=\"noreferrer noopener\">here<\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Post Date: May 08, 2017Last Updated: September 28, 2026 Introduction A dynamic dropdown list allows users to select an option [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":false,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2},"jetpack_post_was_ever_published":false},"categories":[1022],"tags":[],"class_list":["post-1480","post","type-post","status-publish","format-standard","hentry","category-web-architecture","psol-cat-web-architecture"],"jetpack_publicize_connections":[],"jetpack_shortlink":"https:\/\/wp.me\/phn2x7-nS","jetpack_sharing_enabled":true,"jetpack_featured_media_url":"","_links":{"self":[{"href":"https:\/\/pheonixsolutions.com\/blog\/wp-json\/wp\/v2\/posts\/1480","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/pheonixsolutions.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/pheonixsolutions.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/pheonixsolutions.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/pheonixsolutions.com\/blog\/wp-json\/wp\/v2\/comments?post=1480"}],"version-history":[{"count":1,"href":"https:\/\/pheonixsolutions.com\/blog\/wp-json\/wp\/v2\/posts\/1480\/revisions"}],"predecessor-version":[{"id":11994,"href":"https:\/\/pheonixsolutions.com\/blog\/wp-json\/wp\/v2\/posts\/1480\/revisions\/11994"}],"wp:attachment":[{"href":"https:\/\/pheonixsolutions.com\/blog\/wp-json\/wp\/v2\/media?parent=1480"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/pheonixsolutions.com\/blog\/wp-json\/wp\/v2\/categories?post=1480"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/pheonixsolutions.com\/blog\/wp-json\/wp\/v2\/tags?post=1480"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}