ADOdb

Database Abstraction Layer for PHP

User Tools

Site Tools


v5:reference:recordset:getmenu

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
reference:getmenu [2015/08/14 02:50] – created mnewnhamv5:reference:recordset:getmenu [2019/11/24 00:16] (current) – Add wrap around fetch mode note dregad
Line 2: Line 2:
 ~~NOTOC~~ ~~NOTOC~~
 <WRAP right box> <WRAP right box>
 +== See Also ==
 +[[v5:reference:recordset:getmenu2|getMenu2()]]\\
 +[[v5:reference:recordset:getmenu3|getMenu3()]]\\
 == Syntax == == Syntax ==
   string getMenu(   string getMenu(
       string $selectName,       string $selectName,
-      mixed $defaultValue, +      optional mixed $defaultValue=false
-      bool $blankFirstItem, +      optional mixed $blankFirstItem=true
-      bool $multiple, +      optional bool $multiple=false
-      int $numberOfRows, +      optional int $numberOfRows=0
-      string $optionalAttributes, +      optional string $optionalAttributes=''
-      bool $compareAgainstFirstCol+      optional bool $compareAgainstFirstCol=true
       )       )
 +  
 +  
 </WRAP> </WRAP>
 ===== Description ===== ===== Description =====
-The function ''getMenu()'' Generate an HTML SELECT tag string from a recordset, and return the string. If the recordset has 2 cols, the 1st column is is are compared with the FIRST column.+ 
 +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. 
 + 
 +<WRAP info left> 
 +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 
 +</WRAP> 
 ===== Parameters ===== ===== Parameters =====
-string $selectName, 
-      mixed $defaultValue, 
-      bool $blankFirstItem, 
-      bool $multiple, 
-      int $numberOfRows, 
-      string $optionalAttributes, 
-      bool $compareAgainstFirstCol 
 ==== $selectName ===== ==== $selectName =====
 name of SELECT tag name of SELECT tag
 ==== $defaultValue ==== ==== $defaultValue ====
-The value to highlight. Use an array for multiple highlight for listbox+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.  
-==== $bankFirstLine ==== +==== $blankFirstLine ==== 
-true to leave the 1st item in list empty +This parameter has the following available options: 
-@param [multiple] true for listbox, false for popup + 
-@param [size] #rows to show for listbox. not used by popup +  * true (default) - creates an empty ''<option></option>'' tag 
-  * @param [selectAttr] additional attributes to defined for SELECT tag+  * false - does not creates an empty ''<option></option>'' tag 
- * useful for holding javascript onChange='...' handlers. +  * string value - creates an ''<option value="">STRING</option>'' tag 
-  & @param [compareFields0] when we have 2 cols in recordsetwe compare the defstr with +  * string value format ''value:description'' - creates an ''<option value='value'>description</option>'' tag 
- * column (1st colif this is true. This is not documented. + 
-  +==== $multiple ==== 
-  @return HTML+Set true to create a multi-select box 
 +==== $numberOfRows ==== 
 +Number of rows to show for multi-select boxIf. a multi-select box is not created, this field has no meaning. 
 +==== $optionalAttributes ==== 
 +Additional attributes to defined for SELECT taguseful 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 columnsby 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 ===== 
 +<code php> 
 +/
 +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 
 + 
 +</code> 
 + 
 +<code html> 
 +<select name="mySelect" id="mySelect" class="myclass-1 myclass-2"> 
 +<option></option> 
 +<option value='10'>MANAGE/ADVISE</option> 
 +<option value='20'>ESTIMATE COST</option> 
 +<option value='30' selected>DEFINE SPECS</option> 
 +<option value='40'>LEAD PROGRAM/DESIGN</option> 
 +<option value='50'>WRITE SPECS</option> 
 +<option value='60'>DESCRIBE LOGIC</option> 
 +<option value='70'>CODE PROGRAMS</option> 
 +<option value='80'>TEST PROGRAMS</option> 
 +<option value='90'>ADM QUERY SYSTEM</option> 
 +<option value='100'>TEACH CLASSES</option> 
 +<option value='110'>DEVELOP COURSES</option> 
 +<option value='120'>PERS AND STAFFING</option> 
 +<option value='130'>OPER COMPUTER SYS</option> 
 +<option value='140'>MAINT SOFTWARE SYS</option> 
 +<option value='150'>ADM OPERATING SYS</option> 
 +<option value='160'>ADM DATA BASES</option> 
 +<option value='170'>ADM DATA COMM</option> 
 +<option value='180'>DOCUMENT</option> 
 +</select> 
 + 
 +</code>
v5/reference/recordset/getmenu.1439513408.txt.gz · Last modified: 2017/04/21 11:37 (external edit)