0

i have this php code that uses sql values to echo a select tag with default selected value. i have values of 1 to 10 on M_class coming from sql. but the selected is always the value of 10. how to solve this?

<?php foreach( $results as $row ){
       $tmpmclass = $row['M_class'];
       //start of giving Mclass values

            if ($tmpmclass = '1') {
            $mdmclass1 = "<option value='1' selected='selected'>V1</option>";
            } else {
            $mdmclass1 = "<option value='1' >V1</option>";
            }
            if ($tmpmclass = '2') {
            $mdmclass2 = "<option value='2' selected='selected'>V2</option>";
            } else {
            $mdmclass2 = "<option value='2' >V2</option>";
            }
            if ($tmpmclass = '3') {
            $mdmclass3 = "<option value='3' selected='selected'>V3</option>";
            } else {
            $mdmclass3 = "<option value='3' >V3</option>";
            }
            if ($tmpmclass = '4') {
            $mdmclass4 = "<option value='4' selected='selected'>V4</option>";
            } else {
            $mdmclass4 = "<option value='4' >V4</option>";
            }
            if ($tmpmclass = '5') {
            $mdmclass5 = "<option value='5' selected='selected'>V5</option>";
            } else {
            $mdmclass5 = "<option value='5' >V5</option>";
            }
            if ($tmpmclass = '6') {
            $mdmclass6 = "<option value='6' selected='selected'>V6</option>";
            } else {
            $mdmclass6 = "<option value='6' >V6</option>";
            }
            if ($tmpmclass = '7') {
            $mdmclass7 = "<option value='7' selected='selected'>V7</option>";
            } else {
            $mdmclass7 = "<option value='7' >V7</option>";
            }
            if ($tmpmclass = '8') {
            $mdmclass8 = "<option value='8' selected='selected'>V8</option>";
            } else {
            $mdmclass8 = "<option value='8' >V8</option>";
            }
            if ($tmpmclass = '9') {
            $mdmclass9 = "<option value='9' selected='selected'>V9</option>";
            } else {
            $mdmclass9 = "<option value='9' >V9</option>";
            }
            if ($tmpmclass = '10') {
            $mdmclass10 = "<option value='10' selected='selected'>V10</option>";
            } else {
            $mdmclass10 = "<option value='10' >V10</option>";
            }
       //end of giving Mclass values
       //making the mclass string
       $mmdmclass = "
       <select name='mclass' >
                              $mdmclass1
                              $mdmclass2
                              $mdmclass3
                              $mdmclass4
                              $mdmclass5
                              $mdmclass6
                              $mdmclass7
                              $mdmclass8
                              $mdmclass9
                              $mdmclass10
                            </select>
       ";
       //end of making  mclass string
     echo $mmdmclass;
   }
 ?>
Mohamed Athif
  • 468
  • 2
  • 6
  • 19
  • 3
    You're using = (assignment) instead of == (test for equality). Also, you could use a for loop to output the ten options and make an exception of the one whose index matches $tmpmclass. – BryanT Mar 05 '16 at 20:13
  • @BryanT thanks :D that solved it. and thank you, i am going to research on switch statement now – Mohamed Athif Mar 05 '16 at 20:17
  • @jeroen - I realized that a switch/case isn't suitable and had already edited my comment. – BryanT Mar 05 '16 at 20:20
  • @BryanT I just noticed :-) – jeroen Mar 05 '16 at 20:21
  • @BryanT thanks again, researching on for loop, and why would a switch statement not work in this case? – Mohamed Athif Mar 05 '16 at 20:25
  • @jeroen i used a foreach loop to output the ten options, any idea how i can make the selected one an exception? – Mohamed Athif Mar 05 '16 at 21:12
  • 1
    I have written code using a loop. It's much shorter. But this question about = vs ==) already has an answer, so I don't know if I will get down voted if I post it here as answer. – BryanT Mar 06 '16 at 00:09

0 Answers0