====== getMenu ====== ~~NOTOC~~ == See Also == [[v5:reference:recordset:getmenu2|getMenu2()]]\\ [[v5:reference:recordset:getmenu3|getMenu3()]]\\ == Syntax == string getMenu( string $selectName, optional mixed $defaultValue=false, optional mixed $blankFirstItem=true, optional bool $multiple=false, optional int $numberOfRows=0, optional string $optionalAttributes='', optional bool $compareAgainstFirstCol=true ) ===== Description ===== The function ''getMenu()'' generates an HTML SELECT tag string from a recordset, and returns the string. If the recordset has a single column, the option values and descriptions are the same. If it has 2 columns, the first one is the description and the second is the value. By default, the 2nd column is matched against ''$defaultValue'', if provided. Any extra column beyond the first two will be discarded. Until ADOdb 5.20.13, this method required that [[v5:reference:adodb_fetch_mode|ADODB_FETCH_MODE]] be set to ''ADODB_FETCH_NUM'' prior to execution of the SQL statement that will provide the recordset. Starting with 5.20.14, all fetch modes are supported ===== Parameters ===== ==== $selectName ===== name of SELECT tag ==== $defaultValue ==== The value to highlight. Use either a string for a single value to match, or a numeric array if a multiselect box is going to be built and there are multiple matching defaults. ==== $blankFirstLine ==== This parameter has the following available options: * true (default) - creates an empty '''' tag * false - does not creates an empty '''' tag * string value - creates an '''' tag * string value format ''value:description'' - creates an '''' tag ==== $multiple ==== Set true to create a multi-select box ==== $numberOfRows ==== Number of rows to show for multi-select box. If. a multi-select box is not created, this field has no meaning. ==== $optionalAttributes ==== Additional attributes to defined for SELECT tag, useful for holding javascript onChange='...' handlers or class information. Note that by default, the select box is generated without an id, so this should be included here. ==== $compareAgainstFirstCol ==== If we have 2 columns, by default the default value is located by matching against the 2nd column (the value). By setting this flag to false, we can locate the selected option by matching against the 1st column (the description). This works even if the list of selected items is an array ===== Usage ===== /* * Connect to DB2 Sample Database */ $SQL = "SELECT actdesc,actno FROM act ORDER BY actno $result = $db->execute($SQL); $html = $result->getMenu('mySelect', 'DEFINE SPECS', true, false, false, 'id="mySelect" class="myclass-1 myclass-2"'); print $html