Page 1 of 1

Theres gotta be a better way to do this

Posted: Sat Nov 09, 2002 2:15 pm
by Little Spy
$data['userlevel'] is the admin level of the user taken from the data base in the modify user form i have this snippet

Code: Select all

if ($dataї'userlevel'] == "0") {
          <select size="1" name="member_modify_userlevel">
          <option value="0" selected>0 - Normal User</option>
          <option value="1">1 - SiteOP</option>
          <option value="2">2 - SiteOp+</option>
          <option value="3">3 - SuperOp</option>
          </select>
          &#125;
          elseif ($data&#1111;'userlevel'] == "1") &#123;
          <select size="1" name="member_modify_userlevel">
          <option value="0" selected>0 - Normal User</option>
          <option value="1" selected>1 - SiteOP</option>
          <option value="2">2 - SiteOp+</option>
          <option value="3">3 - SuperOp</option>
          </select>
          &#125;
          elseif ($data&#1111;'userlevel'] == "2") &#123;
          <select size="1" name="member_modify_userlevel">
          <option value="0" selected>0 - Normal User</option>
          <option value="1">1 - SiteOP</option>
          <option value="2" selected>2 - SiteOp+</option>
          <option value="3">3 - SuperOp</option>
          </select>
          &#125;
          elseif ($data&#1111;'userlevel'] == "3") &#123;
          <select size="1" name="member_modify_userlevel">
          <option value="0">0 - Normal User</option>
          <option value="1">1 - SiteOP</option>
          <option value="2">2 - SiteOp+</option>
          <option value="3" selected>3 - SuperOp</option>
          </select>
          &#125;
to make the userlevel they currently are be selected, i really hate to do it this way does anyone know a better way?

Posted: Sat Nov 09, 2002 2:18 pm
by Takuma
You couls use SWITCH instead of IF and also try printing out the <select> first.

try this

Posted: Sat Nov 09, 2002 4:25 pm
by phpScott
Try this alternative. It's not as elegant as I would like but it will make updating your script a little easier.

Code: Select all

&lt;?php
$select0="";
$select1="";
$select2="";
$select3="";
switch ($data&#1111;'userlevel'])
{
    case "0":
          $select0="selected";
          break;
    case "1":
          $select1="selected";
          break;
    case "2":
          $select2="selected";
          break;
    case "3":
          $select3="selected";
          break;
}
$selectBox = " &lt;select size='1' name='member_modify_userlevel'&gt;";
$selectBox .=" &lt;option value='0' $select0&gt;0 - Normal User&lt;/option&gt;";
$selectBox .=" &lt;option value='1' $select1&gt;1 - SiteOP&lt;/option&gt;";
$selectBox .=" &lt;option value='2' $select2&gt;2 - SiteOp+&lt;/option&gt;";
$selectBox .=" &lt;option value='3' $select3&gt;3 - SuperOp&lt;/option&gt;";
$selectBox .=" &lt;/select&gt;";
print $selectBox;
?&gt;

phpScott

Posted: Sat Nov 09, 2002 8:19 pm
by volka
there are thousands of ways ;)

Code: Select all

&lt;select name="member_modify_userlevel"&gt;&lt;?php
$desc = array(0=&gt;'Normal User', 1=&gt;'SiteOP', 2=&gt;'SiteOp+', 3=&gt;'SuperOp');
foreach($desc as $key=&gt;$value)
	echo '&lt;option value="', $key, ($key==$data&#1111;'userlevel']) ? '" selected="selected"&gt;':'"&gt;', $value, '&lt;/option&gt;';
?&gt;&lt;/select&gt;
hmm....my phoenix/mozilla doesn't recognize the selected-property but IE does :evil: