选择每次都具有相同值的选项

Looping from database duplicating the option values in options tag.

Please help me out.

My code is below.

<input type="hidden" name="beautician<?php echo $data[0]; ?>[]" id="beautician">
<select name="beautician[<?php echo $data[0]; ?>]" id="beauty" onchange="pvalue()">
    <option value="null">Select</option>
    <?php
    $query = "select id,title from beautician order by id";
    $run = mysql_query($query);
    while ($row = mysql_fetch_array($run)) {
        $id = $row[0];
        $name = $row[1];
        ?>
        <option value="<?php echo $id; ?>"> <?php echo $name; ?> </option>                                                         
    <?php } ?>
</select>

whenever the user is selecting beautician it is taking id of the first option.

If id of the first selected beautician is 6 then every other beautician will have id 6

enter image description here

Because you forgot to print $id

Correct

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

To

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

Instead this:

<input type="hidden" name="beautician<?php echo $data[0]; ?>[]" id="beautician">
     <select name="beautician[<?php echo $data[0]; ?>]" id="beauty" onchange="pvalue()">
            <option value="null">Select</option>
            <?php
                $query = "select id,title from beautician order by id";
                $run = mysql_query($query);
                 while ($row = mysql_fetch_array($run)) {
                $id = $row[0];
                $name = $row[1];

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

            <?php  } ?>
    </select>

Try this:

<input type="hidden" name="beautician <?php echo $data[0]; ?>[]" id="beautician">
     <select name="beautician[<?php echo $data[0]; ?>]" id="beauty" onchange="pvalue()">
            <option value="null">Select</option>
            <?php
                $query = "select id,title from beautician order by id";
                $run = mysql_query($query);
                 while ($row = mysql_fetch_array($run)) {
                $id = $row['id'];
                $name = $row['title'];

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

            <?php  } ?>
    </select>

In the below statement you are not echoing $id in value. To get the value you have to <?php echo $id;?> OR <?=$id?>. Using your existing statement you have not printed the $id so the select option will take the <option> tag's text value, In your case value will be from $name variable.

Your statement:

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

Correct Statement:

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

As per my thinking you are getting value from the pvalue() on the change event of <select> tag and in this function you might be getting value based on the #beauty selector, because of this you are getting first dropdown value this happens because of duplicate id selector #beauty

Checkout below fiddle. There are two dropdowns and those have onchange="pvalue(this)" function on change event. Instead of no parameters in pvalue() function I have passed this in pvalue(this) function. Based on this parameter it will give you current <select> option.

<select name="beautician[0]" id="beauty" onchange="pvalue(this)">
    <option value="null">Select</option>
    <option value="one - 1">One - 1</option>
    <option value="Two - 1">Two - 1</option>
</select>
<select name="beautician[1]" id="beauty" onchange="pvalue(this)">
    <option value="null">Select</option>
    <option value="one - 2">One - 2</option>
    <option value="Two - 2">Two - 2</option>
</select>
<script>

function pvalue(obj, rowid){
var x = obj.value;
var y = document.getElementById('beautician'+ ).value = x;
    alert(x);
}
</script>

<input type="hidden" name="beautician<?php echo $data[0]; ?>[]" id="beautician-<?php echo $data[0]; ?>">
<select name="beautician[<?php echo $data[0]; ?>]" id="beauty" onchange="pvalue(this, '<?php echo $data[0]; ?>')">
    <option value="null">Select</option>
</select>

<script>
    function pvalue(obj, rowid) {
        var x = obj.value;
        var y = document.getElementById('beautician-' + rowid).value = x;
    }
</script>
</div>

This line:

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

Should be:

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