PHP : Get the value of Dropdown and pass it to another dropdown

I have a problem right now [PHP]. I have a dropdown and its loading my database for the first page, when I proceed to the next page it also have a dropdown where its also loading the my database and also I can get the value of my dropdown in the first page using an echo only.

This is the scenario: I choose in the dropdown first page the "Letter A" and when I click the button it will proceed to the next page. The dropdown in the second page loaded the items in the database but instead of "-select-" is the first index in the dropdown I want is "Letter A" will be the first index.

This is my code in first page for drowdown:

 <select name="id">
            <option value="" >- select -</option>

            <?php
        include 'connect.php';

        $q = mysql_query("select fldNetname from tblnetwork");



        while ($row1 = mysql_fetch_array($q))
        {
          echo "<option value='".$row1[fldNetname]."'>".$row1[fldNetname]."</option>";

        }
    ?>
        </select>

and this is my code in second page for dropdown:

if ($get_ID != "") 
{
    echo "<br/>";
    echo $get_ID;
    //echo "show()";
} 
else
{
    echo "No Network Selected";
    echo "<br/>";

    //echo "hide()";
}   

?>

    <option value="">- select -</option>

    <?php
        include 'connect.php';

        $q = mysql_query("select fldNetname from tblnetwork");



        while ($row1 = mysql_fetch_array($q))
        {
          echo "<option value='".$row1[fldNetname]."'>".$row1[fldNetname]."</option>";

        }
    ?>
</select>

Thanks in advance!

Upvotes: 0

Views: 4542

Answers (3)

Kylie
Kylie

Reputation: 11749

if $get_ID, is actually your $_GET['id'] value, then just do...

    while ($row1 = mysql_fetch_array($q))
    {          
      echo "<option value='".$row1['fldNetname']."'";
      if($row1['fldNetname']==$get_ID){echo "selected='selected'";}
      echo ">".$row1['fldNetname']."</option>";

    }

Or as one line...

while ($row1 = mysql_fetch_array($q))
{          
 echo "<option value='".$row1['fldNetname']."' " . (($row1['fldNetname'] == $get_ID)?"selected='selected'":"") . ">".$row1'[fldNetname']."</option>"
}

Upvotes: 1

Jacob S
Jacob S

Reputation: 1701

On your second page, you need to check whether the value is the same as the one you received from the first page:

echo "<option value='".$row1[fldNetname]."' " . (($row1[fldNetname] == $get_id)?"selected":"") . ">".$row1[fldNetname]."</option>";

Upvotes: 2

JonnyS
JonnyS

Reputation: 314

Have you tried?

changing (on the second page)

 <option value="">- select -</option>

to

<option value="<?php echo $yourVar; ?>"><?php echo $yourVar; ?></option>

Then in the while loop, skip the value selected to prevent a duplicate choice.
Something like:

    while ($row1 = mysql_fetch_array($q))
    {
        if($yourVar != $row1[fldNetname]){
                echo "<option value='".$row1[fldNetname]."'>".$row1[fldNetname]."</option>";
        }
    }

Upvotes: 0

Related Questions