Forum Moderators: coopster
<?php
$dropdown = $_GET['dropdown'];
if($dropdown == 'firstoption') { echo 'selected="yes"'; }
if($dropdown == 'secondoption') { echo 'selected="yes"'; }
if($dropdown == 'thirdoption') { echo 'selected="yes"'; }
?> <?php
//a listing of expected values for $_GET['dropdown'] field:
$a = array('firstoption', 'secondoption', 'thirdoption');
$a2 = array_flip($a); //keys become values, values become keys
$selectionText = 'selected="selected"'; //selected="yes" is incorrect
$dropdown = 'thirdoption';//$_GET['dropdown'];
$makeSelectedIndex = (isset($a2[$dropdown])) ? $a2[$dropdown] : 0; //defaults to 0
echo 'When your loop counter gets to: '.$makeSelectedIndex.' or thereabouts, then echo $selectionText in the option';
?>
[edited by: astupidname at 11:42 am (utc) on Mar 24, 2010]
$dropdown = $_GET['dropdown'];
$drop_values = array(
array('value_one', 'text_one'),
array('value_two', 'text_two'),
array('value_three', 'text_three')
);
$drop_menu = '<select name="something">';
foreach($drop_values as $drop) {
if($drop[0] === $dropdown) {
$sel = ' selected="selected"';
} else {
$sel = '';
}
$drop_menu .= "\n" . '<option value="' . $drop[0] . '"' . $sel . '>' . $drop[1] . '</option>';
}
$drop_menu .= "\n" . '</select>';
function select_build($options_array, $select_name, $mem_info = '') {
$output = '<select name="' . $select_name . '">';
foreach($options_array as $option) {
if(isset($mem_info) && $mem_info != "") {
if($mem_info === $option[0]) {
$sel = ' selected="selected"';
} else {
$sel = '';
}
} else {
$sel = '';
}
$option .= "\n" . '<option value="' . $option[0] . '"' . $sel . '>' . $option[1] . '</option>';
}
$output .= "\n" . '</select>';
return $output;
}
$drop_menu = select_build($drop_values, 'something', $_GET['dropdown']);
whereas directly echoing the "selected" takes a bit longer.
whereas directly echoing the "selected" takes a bit longer.
.... I would love to know how fast it is in comparison to an echo.
$drop_values = array(
'value_one' => 'text_one',
'value_two' => 'text_two',
'value_three' => 'text_three'
);
//
$dropdown = (isset($_GET['dropdown']))?$_GET['dropdown']:NULL; // :-P
$onchange=NULL; // could be ' onchange="some_javascript(this);"';
$class=NULL; // styling
//
$select = get_my_select('something',$drop_values,$dropdown,$class,$onchange);
//
echo '<form action=""><label for="something">Some Thing:</label> ' . $select . '</form>';
//
//
function get_my_select($name,$values,$val,$style,$actions) {
//
if ($class) { $class = " class=\"$class"\"; }
//
$drop_menu = "<select name=\"$name\" id=\"$name\"" . $class . "$actions>\n";
foreach ($values as $key=>$value) {
$drop_menu .= "option value=\"$key\"";
if ($val == $key) { $drop_menu .= " selected"; }
$drop_menu .= ">$value</option>\n";
}
$drop_menu .= "</select>\n";
return $drop_menu;
}
[edited by: rocknbil at 7:09 pm (utc) on Mar 24, 2010]
[edited by: rocknbil at 7:27 pm (utc) on Mar 24, 2010]
<?php
header("content-type:text/html");
$drop_values = array(
'value_one' => 'text one',
'value_two' => 'text two',
'value_three' => 'text three'
);
$another_list = array(
'1' => 'A One An',
'2' => 'A Two An',
'3' => 'A Three Ana'
);
//
$dropdown = (isset($_GET['dropdown']))?$_GET['dropdown']:NULL; // :-P
$onchange=NULL; // could be ' onchange="some_javascript(this);"';
$class=NULL; // styling
//
$select = get_my_select('something',$drop_values,$dropdown,$class,$onchange);
$js = ' onchange="alert(this.options[this.selectedIndex].value);"';
$select2 = get_my_select('something-else',$another_list,'',$class,$js);
//
echo '<form action="">
<label for="something">Some Thing:</label> ' . $select . '
<label for="something-else">Something Else:</label> ' . $select2 .
'</form>';
//
//
function get_my_select($name,$values,$val,$style,$actions) {
//
if ($class) { $class = " class=\"$class\""; }
//
$drop_menu = "<select name=\"$name\" id=\"$name\"" . $class . "$actions>
<option value=\"\">Select</option>\n";
foreach ($values as $key=>$value) {
$drop_menu .= "<option value=\"$key\"";
if ($val == $key) { $drop_menu .= " selected"; }
$drop_menu .= ">$value</option>\n";
}
$drop_menu .= "</select>\n";
return $drop_menu;
}
?>