Hello friends, in this post we will learn about creating dynamic select box using PHP. Here we will create dynamic select box using PHP array. In most of the project development we have this as a basic requirement.
Followings are the step by step procedure to implement this task,
Step 1: ( Create the array )
In this step we will create two arrays i.e $techArr and $topicArr for displaying list of technologies and their corresponding topics respectively,
$techarr = array( '1' => 'PHP', '2' => 'Java', '3' => '.Net', '4' => 'Python' ); $topicArr = array( '1' => array( '1' => 'Introduction to PHP', '2' => 'Variables in PHP', '3' => 'PHP Session Management' ), '2' => array( '1' => 'Introduction to Java', '2' => 'String class in Java', '3' => 'OOPs in Java' ), '3' => array( '1' => 'Introduction to .Net', '2' => 'OOPs in .Net', '3' => 'Session Management in .Net' ), '4' => array( '1' => 'Introduction to Python', '2' => 'Topple in Python', '3' => 'OOPs in Python' ) );
Step 2: ( Write the logic to display dynamic select box )
Now we will write the code to display the dynamic select box by applying foreach loop to the two arrays $techArr and $topicArr,
<select onchange = "getTopic(this)"> <option>------ select --------</option> <?php foreach($arr as $k => $v){ if(isset($_GET['pl']) && $_GET['pl'] == $k){ ?> <option value = "<?php echo $k ?>" selected> <?php echo $v ?> </option> <?php }else{ ?> <option value = "<?php echo $k ?>"> <?php echo $v ?> </option> <?php } } ?> </select> <select> <?php if(isset($_GET['pl'])){ if(isset($topicArr[$_GET['pl']])){ ?> <?php foreach($topicArr[$_GET['pl']] as $key => $val){ ?> <option value = "<?php echo $key ?>"> <?php echo $val ?> </option> <?php } ?> <?php } } ?> </select>Following is the javascript code to call getTopic() method for displaying the dynamic select box,
<script> function getTopic(tech){ // Here tech is the selected option object from the select box window.location = "http://localhost:8081/dselect.php?pl=" + tech.value; } </script>
Complete Code :
Following is the complete code,
<script> function getTopic(tech){ // Here tech is the selected option object from the select box window.location = "http://localhost:8081/dselect.php?pl=" + tech.value; } </script> <style> select{ color: black; height: 30px; font-weight: bold; width: 180px; padding: 5px; border: 2px solid black; } </style> <?php $techArr = array( '1' => 'PHP', '2' => 'Java', '3' => '.Net', '4' => 'Python' ); $topicArr = array( '1' => array( '1' => 'Introduction to PHP', '2' => 'Variables in PHP', '3' => 'PHP Session Management' ), '2' => array( '1' => 'Introduction to Java', '2' => 'String class in Java', '3' => 'OOPs in Java' ), '3' => array( '1' => 'Introduction to .Net', '2' => 'OOPs in .Net', '3' => 'Session Management in .Net' ), '4' => array( '1' => 'Introduction to Python', '2' => 'Topple in Python', '3' => 'OOPs in Python' ) ); ?> <select onchange = "getTopic(this)"> <option>------ select --------</option> <?php foreach($techArr as $k => $v){ if(isset($_GET['pl']) && $_GET['pl'] == $k){ ?> <option value = "<?php echo $k ?>" selected> <?php echo $v ?> </option> <?php }else{ ?> <option value = "<?php echo $k ?>"> <?php echo $v ?> </option> <?php } } ?> </select> <select> <?php if(isset($_GET['pl'])){ if(isset($topicArr[$_GET['pl']])){ ?> <?php foreach($topicArr[$_GET['pl']] as $key => $val){ ?> <option value = "<?php echo $key ?>"> <?php echo $val ?> </option> <?php } ?> <?php } } ?> </select>
No comments:
Post a Comment