AakkiRock
AakkiRock

Reputation: 220

How can I Fetch data after selecting from dropdown list

I want to fetch data from dropdown list. Like if I choose employee id 40 from the dropdown list it will fetch the data from database of that employee and will shown in the textboxes.

this is my dropdown code. please help me how can i get the selected value.

<?php
    $con=mysqli_connect("localhost","root","","hct_db");
    // Check connection
    if (mysqli_connect_errno()) {
        echo "Failed to connect to MySQL: " . mysqli_connect_error();
    }
?>

 <label>Select Employee ID</label>
     <select class="form-control" name="employee_id">
         <?php 
         $result = mysqli_query($con,"SELECT employee_id FROM employee order by employee_id");

         while($row = mysqli_fetch_array($result)) 
             echo "<option value='" . $row['employee_id'] . "'>" . $row['employee_id'] . "</option>";
         ?>
     </select>

Upvotes: 0

Views: 30477

Answers (6)

Malith Ileperuma
Malith Ileperuma

Reputation: 994

You can easily learn how to fetch data from dropdown using this example by clicking Here This repository contains all the codes

Upvotes: 0

Malcolm Kindermans
Malcolm Kindermans

Reputation: 337

That depends on what you want. If you want to use the selected ID in your query AFTER DOING A POST, you can use the following query:

    "SELECT   *
     FROM     `employee`
     WHERE    `employee`.`employee_id` = " . (int) $_POST['employee_id'] . "
     LIMIT    1"

Assuming you are using the post method in your form.

Upvotes: 0

Alok Gupta
Alok Gupta

Reputation: 81

<?php
if(isset($_REQUEST['submit']))
{
  $value=$_POST['employee_id'];
  $query = mysql_query($con,"SELECT employee_name FROM employee where employee_id=$value");
  $result=mysql_fetch_array($query);
  $emp_name=$result['employee_name'];
}
?>

<form action="" method="post" name="form">
 <label>Select Employee ID</label>
   <select class="form-control" name="employee_id">
    <?php $result = mysqli_query($con,"SELECT employee_id FROM employee order by employee_id");
 while($row = mysqli_fetch_array($result)) 
   echo "<option value='" . $row['employee_id'] . "'>" .$row['employee_id'] . "</option>";
 ?>
  </select>
<input type="submit" name="submit" value="submit">
</form>
 <input type="text" value="<?=$emp_name?>" name="emp_name"/>

check this code as your need

Upvotes: 1

Indrasinh Bihola
Indrasinh Bihola

Reputation: 2125

First of all give some id to you select option like this:

<select class="form-control" name="employee_id" id='employee'>

Add you textbox like this:

<input type='text' name='emp_name' id='emp_name' />

Than use jquery and ajax something like this:

$('#employee').change(function(){
    var selected_id = $(this).val();
    var data = {id:selected_id};
    $.post('getemp_name.php',data,function(data){
         $('#emp_name').val(data);
    });
});

getemp_name.php

if(isset($_POST['id'])){
    //fire query using this id and get the name of employee and echo it
    echo $emp_name;
}

Upvotes: 1

Prashant Tapase
Prashant Tapase

Reputation: 2147

apply below function on onChange

function myFunction(mySelect) {
        var x = document.getElementById("mySelect").value;
        document.getElementById("demo").innerHTML = "You selected: " + x;
    }

example

Upvotes: 0

Balrog2000
Balrog2000

Reputation: 16

To get your selected value, you have to reach the $_GET or $_POST supertables after the user submits the form.

So, after the submit, get it as, if you POST:

<?php 
$employee_id = $_POST['employee_id']; ?>

If you GET:

<?php 
$employee_id = $_GET['employee_id']; ?>

Upvotes: 0

Related Questions