ADOdb

Database Abstraction Layer for PHP

User Tools

Site Tools


v5:reference:recordset:getmenu3

Differences

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

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
reference:getmenu3 [2015/08/15 01:38] mnewnhamv5:reference:recordset:getmenu3 [2019/01/01 23:50] (current) – [Description] mnewnham
Line 1: Line 1:
 ====== getMenu3 ====== ====== getMenu3 ======
 ~~NOTOC~~ ~~NOTOC~~
 +<WRAP info>
 +This method requires that ADODB_FETCH_MODE be set to ADODB_FETCH_NUM prior to execution of the SQL statement that will provide the recordset.
 +</WRAP>
 <WRAP right box> <WRAP right box>
 +== See Also ==
 +[[v5:reference:recordset:getmenu|getMenu()]]\\
 +[[v5:reference:recordset:getmenu2|getMenu2()]]\\
 +
 == Syntax == == Syntax ==
   string getMenu3(   string getMenu3(
       optional string $selectName='',       optional string $selectName='',
       optional mixed $defaultValue=false,       optional mixed $defaultValue=false,
-      optional bool $blankFirstItem=true, +      optional mixed $blankFirstItem=true, 
-      optional bool $multiple=fale,+      optional bool $multiple=false,
       optional int $numberOfRows=0,       optional int $numberOfRows=0,
-      optional string $optionalAttributes='',+      optional string $optionalAttributes=''
       )       )
      
Line 15: Line 22:
 </WRAP> </WRAP>
 ===== Description ===== ===== Description =====
-The function ''getMenu3()'' Generates an HTML MULTI-SELECT tag string from a recordset, and return the string. The recordset requires 3 columns, the 3rd being used for the optgroup.  +The function ''getMenu3()'' Generates an HTML OPTGROUP select string from a recordset, and returns the string. The recordset requires 3 columns, the 3rd being used for the optgroup. The select can be defined as either single or multiple select.
- +
-If a multiple option is not given, the function behaves exactly like ''getMenu2()''.+
  
 +In order for the optgroup to work correctly, the SQL statement used must be ORDERED by some order that begins with the 3rd column in the SELECT. 
 +If more than 3 columns are returned, the 4th and greater columns are discarded.
 ===== Parameters ===== ===== Parameters =====
 ==== $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
 ==== $blankFirstLine ==== ==== $blankFirstLine ====
-true to leave the 1st item in list empty+This parameter has the following available options: 
 + 
 +  * true (default) - creates an empty ''<option></option>'' tag 
 +  * false - does not creates an empty ''<option></option>'' tag 
 +  * string value - creates an ''<option value=``>STRING</option>'' tag 
 +  * string value format ''value:description'' - creates an ''<option value='value'>description</option>'' tag 
 ==== $multiple ==== ==== $multiple ====
 Set true to create a multi-select box Set true to create a multi-select box
 ==== $numberOfRows ==== ==== $numberOfRows ====
-Number of rows to show for multi-select box+Number of rows to show for multi-select box. If not a multi-select, this field has no meaning.
 ==== $optionalAttributes ==== ==== $optionalAttributes ====
-Additional attributes to defined for SELECT tag, useful for holding javascript onChange='...' handlers. +Additional attributes to defined for SELECT tag, useful for holding javascript onChange='...' handlers or class informationNote that by default, the select box is generated without an id, so this should be included here.
-==== $compareAgainstFirstCol ==== +
-When we have 2 cols in recordsetwe compare the defstr with column 0 (1st col) if this is true+
 ===== Usage ===== ===== Usage =====
 <code php> <code php>
Line 39: Line 50:
 * Connect to DB2 Sample Database * Connect to DB2 Sample Database
 */ */
 +$db->setFetchMode(ADODB_FETCH_NUM);
 $SQL = "SELECT actdesc,actno,actgroup FROM act ORDER BY actgroup, actno $SQL = "SELECT actdesc,actno,actgroup FROM act ORDER BY actgroup, actno
 $result = $db->execute($SQL); $result = $db->execute($SQL);
  
-$html = $result->getMenu3('mySelect','30',true,true,10);+$html = $result->getMenu3('mySelect', 
 +                          array('30','40','50'), 
 +                          true, 
 +                          true, 
 +                          10
 +                          'id="mySelect" class="myclass-1 myclass-2");
  
 print $html print $html
Line 49: Line 66:
  
 <code html> <code html>
-<select name="mySelect[]" multiple size="10" >+<select name="mySelect[]" multiple size="10" id="mySelect" class="myclass-1 myclass-2">
 <option></option> <option></option>
 <optgroup label='ANALYSIS/DESIGN'> <optgroup label='ANALYSIS/DESIGN'>
Line 55: Line 72:
 <option value='20'>ESTIMATE COST</option> <option value='20'>ESTIMATE COST</option>
 <option selected='selected' value='30'>DEFINE SPECS</option> <option selected='selected' value='30'>DEFINE SPECS</option>
-<option value='40'>LEAD PROGRAM/DESIGN</option> +<option selected='selected' value='40'>LEAD PROGRAM/DESIGN</option> 
-<option value='50'>WRITE SPECS</option>+<option selected='selected' value='50'>WRITE SPECS</option>
 <option value='60'>DESCRIBE LOGIC</option> <option value='60'>DESCRIBE LOGIC</option>
 </optgroup> </optgroup>
v5/reference/recordset/getmenu3.1439595499.txt.gz · Last modified: 2017/04/21 11:37 (external edit)