ADOdb

Database Abstraction Layer for PHP

User Tools

Site Tools


v5:reference:recordset:getmenu3

This is an old revision of the document!


getMenu3

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.

Syntax
string getMenu3(
    optional string $selectName='',
    optional mixed $defaultValue=false,
    optional bool $blankFirstItem=true,
    optional bool $multiple=false,
    optional int $numberOfRows=0,
    optional string $optionalAttributes=''
    )

Description

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.

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

$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

true to leave the 1st item in list empty

$multiple

Set true to create a multi-select box

$numberOfRows

Number of rows to show for multi-select box. If not a multi-select, 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.

Usage

/*
* Connect to DB2 Sample Database
*/
$db->setFetchMode(ADODB_FETCH_NUM);
$SQL = "SELECT actdesc,actno,actgroup FROM act ORDER BY actgroup, actno
$result = $db->execute($SQL);
 
$html = $result->getMenu3('mySelect',
                          array('30','40','50'),
                          true,
                          true,
                          10,
                          'id="mySelect" class="myclass-1 myclass-2");
 
print $html
<select name="mySelect[]" multiple size="10" id="mySelect" class="myclass-1 myclass-2">
<option></option>
<optgroup label='ANALYSIS/DESIGN'>
<option value='10'>MANAGE/ADVISE</option>
<option value='20'>ESTIMATE COST</option>
<option selected='selected' value='30'>DEFINE SPECS</option>
<option selected='selected' value='40'>LEAD PROGRAM/DESIGN</option>
<option selected='selected' value='50'>WRITE SPECS</option>
<option value='60'>DESCRIBE LOGIC</option>
</optgroup>
<optgroup label='PROGRAM/TEST/INSTALL'>
<option value='70'>CODE PROGRAMS</option>
<option value='80'>TEST PROGRAMS</option>
<option value='90'>ADM QUERY SYSTEM</option>
</optgroup>
<optgroup label='POST INSTALLATION'>
<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>
</optgroup>
</select>
v5/reference/recordset/getmenu3.1546378518.txt.gz · Last modified: 2019/01/01 22:35 by mnewnham