Jons Jons - 1 year ago 96
MySQL Question

Print selected value from dynamic dropdown php mysql

I have the below code where I can get dynamic value into drop down list from mysql db but i can't print selected value when i click on submit button.
can anyone help me urgntly ?

$query = "SELECT * FROM category";
$result = mysql_query ($query);
echo "<select class='turnintodropdown' name='CategoryID' ><option value=''>All</option>";
while($r = mysql_fetch_array($result)) {
echo "<option value=".$r['CategoryID'].">".$r['CategoryName']."</option>";
echo "</select>";
if (isset($_POST['submit'])) {
$selected_val = $_POST['CategoryID']; // Storing Selected Value In Variable
echo "You have selected :" .$selected_val; // Displaying Selected Value
<input type="submit" name="submit" value="Get Selected Values" />

Answer Source

If you want to preselect the selected value of the then you can use the following code. Also check your form method attrivute to see if it set to post (note that mysql_* functions are deprecated, it's better to use PDO using prepared statements).

while($r = mysql_fetch_array($result)) {
    if (!empty($_POST['CategoryID']) && $_POST['CategoryID'] == $r['CategoryID']) {
        $selected = 'selected="selected"';
    } else {
        $selected = '';
    echo "<option ".$selected." value=".$r['CategoryID'].">".$r['CategoryName']."</option>"; 
Recommended from our users: Dynamic Network Monitoring from WhatsUp Gold from IPSwitch. Free Download