| 
<?php
 class SelectBox extends Form_Element
 {
 // description: Use with class_forms.php.
 //              Don't foget to select the id-column also in SQL-command.
 //              Show a selectbox with odbc-database-support.
 //              Show selectbox add id's and items to.
 //              Show selectbox filled with database-field-values.
 //              Show selectbox filled with hyperlinks to auto-jump to.
 // version:     1.4
 // history:     24-7-2003 release version 1.4
 // history:     7-8-2002 release version 1.0
 
 var $Connection;
 var $SQLQuery_items = "";
 var $SQLQuery_items_idcolnr = 1;
 var $ItemList = array();
 var $SQLQuery_selected = "";
 var $SQLQuery_selected_idcolnr = 1;
 var $SQLQuery_update;
 var $Selected = "";      // set selected item when no db available
 var $Hyperlinks = 0;
 var $Extra_URI_1 = "";
 var $Extra_URI_2 = "";
 var $ExtraProperties = "";
 
 // constructor (set form-element's name)
 function SelectBox($Name)
 {
 $this->Set_Element_Name($Name);
 }
 
 // show selectbox
 function Show()
 {
 // handle chosen input with db
 if (!empty($this->SQLQuery_update))
 {
 $result = odbc_exec($this->Connection,$this->SQLQuery_update);
 }
 
 // itemlist from db
 if ($this->SQLQuery_items != "")
 {
 $result = odbc_exec($this->Connection,$this->SQLQuery_items);
 $nrfields = odbc_num_fields($result);
 while(odbc_fetch_row($result))
 {
 // haal data per result-kolom
 for ($i = 1; $i <= $nrfields; $i++)
 {
 $showstring = odbc_result($result,$i);
 $id = odbc_result($result,$this->SQLQuery_items_idcolnr);
 $this->ItemList[$id] = $showstring;
 }
 }
 }
 
 // set selected value with a query (manual use: set $this->Selected to an id)
 if ($this->SQLQuery_selected != "")
 {
 $result = odbc_exec($this->Connection,$this->SQLQuery_selected);
 if (odbc_fetch_row($result))
 {
 $this->Selected = odbc_result($result,$this->SQLQuery_selected_idcolnr);
 }
 }
 
 // show selectbox
 if ($this->Hyperlinks != 0) $OnChangeString = "OnChange=\"top.location.href='".$this->Extra_URI_1."'+this.options[this.selectedIndex].value+'".$this->Extra_URI_2."'\"";
 else $OnChangeString = "";
 print"<select name='".$this->Element_Name."' ".$OnChangeString." ".$this->ExtraProperties.">\n";
 reset($this->ItemList);
 // toon items als options via itemlist
 for ($i = 0; $i < count($this->ItemList); $i++)
 {
 print"<option value='".key($this->ItemList)."'";
 if (key($this->ItemList) == $this->Selected) print " selected";
 print ">".current($this->ItemList)."\n";
 next($this->ItemList);
 }
 print"</select>";
 }
 
 // add item manually
 function AddItem($Id,$ShowString)
 {
 $this->ItemList[$Id] = $ShowString;
 }
 
 // read a value
 function GetItem($Id)
 {
 print $this->ItemList[$Id];
 }
 
 // get number of items
 function ItemCount()
 {
 return count($this->ItemList);
 }
 }
 
 ?>
 
 
 |