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
Last revisionBoth sides next revision
v5:reference:recordset:getmenu3 [2016/01/17 02:50] – ↷ Page moved from v5:reference:getmenu3 to v5:reference:recordset:getmenu3 mnewnhamv5:reference:recordset:getmenu3 [2019/01/01 23:45] 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 a 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
  
 ===== Parameters ===== ===== Parameters =====
Line 23: Line 30:
 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.txt · Last modified: 2019/01/01 23:50 by mnewnham