生成下拉框、複選、單選框的幾個類,支援資料庫結果集生成 (轉)
ob_start();
/*
* Copyright (c) NightKids
* All rights reserved.
*
* Redistribution and use in and binary forms, with or without
* modification, are petted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary fomust reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
*
* THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
* ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*/
#生成下拉框、複選、單選框的幾個類,支援結果集生成
/*************************************************************************************************************
* The PHP File Create By NightKids
* :weidewang@magus-soft.com
* 主頁:
* 作者:NightKids
*
*
*
* 最後修改時間:2003-07-27 10:45:05
*
* 宣告:任何個人或團體可以任意修改、傳播程式碼、可以用於任何場所(造成的任何損失或糾紛與本人無關)。
* 如果有什麼好的建議和意見請與我聯絡。
* 請你在使用或傳播是請保留這段註釋,尊重本人的勞動成果。謝謝!!
*
* 感謝:所有身邊的朋友、所有支援我的人們。
* 所有無私提供資料的網友和朋友們。所有 PHP 支持者 !
*
*
* 開發環境:Free5.1+/2.0.47+PHP 5.0.1B+ Engine v2.0.0+My 4.1.14+Zend Optimizer v2.1.0
*
* 要求:
*************************************************************************************************************/
//=========== html 下拉欄 類
//根據一個陣列生成一個下拉框
//功能:可以初始化為選中其中的一項,預設為第一項
/*
下拉框:
選項: option
選中的: selected
名字: name
ID: id
樣式: class
專案標籤:
標籤值:
*/
//----------------------------------------------------------------------------------------
/*
$c=_connect();
mysql_select_db("felonious",$dbc);//連線資料庫
$q=mysql_query("select * from felonious",$dbc);//進行資料庫操作
while($row=mysql_fetch_array($q))
{
$rows[]=$row;
}
$Item=array("NULL"=>"沒有可選項","1"=>"ffff","2"=>"aaaaaaa");
$selected=array("10","15","20"); //單選時,第一個元素有效
$ds = new CxSelectDown();
$ds->dbitem=true;
$ds->itemvalue="auto_id"; //項的值,資料表裡的欄位名
$ds->itemlable="felonious";//項的標籤,資料表裡的欄位名
$ds->multiple=false;
$ds->SetName("Test");
$ds->SetStyle("ClassName");
$ds->SetID("test");
$ds->SetDir("right");
$ds->SetAccKey("b");
$ds->SetDisabled(false);
$ds->SetSize(0);
$ds->SetItem($rows,$selected);
echo $ds->show();
//---------------------------------------------------------------------------------------
最簡單用法
$ds = new CxSelectDown();
$ds->SetItem($Item);
echo $ds->show();
//----------------------------------------------------------------------------------------
根據從資料庫取得的 row 生成一個下拉框
方法:
Setitem 設定專案資料 引數 $rows 專案陣列,$selected 當前選中的專案 該值為專案的 value 或陣列(在multiple時)
屬性:
dbitem [true/false] default false
itemvalue 專案的值,只有 dbitem 是 true 時有效
itemlable 專案的標籤,只有 dbitem 是 true 時有效
如果 dbitem 為 true 時 方法 Setitem 的資料必須為 用 mysql_fetch_array 取的資料
否則 陣列結構為 $Item=array("NULL"=>"沒有可選項","1"=>"ffff","2"=>"aaaaaaa","value"=>"lable");
*/
class CxSelectDown
{
//=========================
// 值 標籤
var $_NullItem=array("NULL"=>"沒有可選項");
var $_Item=array();
var $_Selected=NULL;
//=========================
var $name=NULL;
var $id=NULL;
var $dir=NULL;
var $accesskey=NULL;
var $disabled=NULL;
var $size=NULL;
var $action=NULL;//其他操作 onChange ....
//=========================
var $dbitem=false; //如果是從資料庫取得的陣列還要設定下面幾個引數
var $itemvalue; //項的值
var $itemlable;//項的標籤
var $multiple=false; //多選,列表框
//=========================
function CxSelectDown()
{
}
//=========================
function SetItem($item=NULL,$selected=NULL){
if(!empty($item))
$this->_Item=$item;
else
$this->_Item=$this->_NullItem;
$this->_Selected=$selected;
if($this->dbitem==true) //是直接從資料庫 $item[]=$row 形式取得的陣列
$this->_Item=$this->ConvItem($item); //轉換陣列
}
//=========================
function ConvItem($item){
$value=$this->itemvalue;
$lable=$this->itemlable;
for ($i=0;$i $key=$item[$i][$value];
$var=$item[$i][$lable];
$ttrow[$key]=$var;
}
return $ttrow;
}
//=========================
function show(){
$itemStart=$this->GetItemHead();
$itemBody=$this->GetItemBody();
$itemEnd=$this->GetItemFoot();
$item=$itemStart.$itemBody.$itemEnd;
return $item;
}
function GetItemBody(){
$item=$this->_Item;
$selected=$this->_Selected;
);
while(@list($value,$lable)=@each($item)){
$isselected=NULL;
if($this->multiple==true){
//多選處理
for ($i=0;$i<=$selectednum-1;$i++){
if($value==$selected[$i]){
$isselected="selected";
}
}
}
else{
//單選處理
if($value==$selected) $isselected="selected";
}
$itemStr.="
";
}
return $itemStr;
}
function GetItemHead() {
$name=$this->GetName();
$id=$this->GetID();
$dir=$this->GetDir();
$accesskey=$this->GetAccKey();
$disabled=$this->GetDisabled();
$size=$this->GetSize();
$action=$this->GetAction();
if($this->multiple==true)
{ $multiple=" multiple "; }
$itemStart="
";
return $itemEnd;
}
//=========================
function SetAction($action){
$this->action=" $action ";
}
function GetAction(){
return $this->action." ";
}
function SetName($Name){
$this->name=' name="'.$Name.'"';
if($this->multiple==true)
$this->name=' name="'.$Name.'[]"';
}
function GetName(){ return $this->name." ";}
//=========================
function SetID($ID){ $this->id=' id="'.$ID.'"';}
function GetID()
{ return $this->id." ";}
//=========================
function SetDir($Dir){
);
switch ($Dir){
case "left":
$this->dir=" dir="rtl"";
break;
case "right":
$this->dir=" dir="ltr"";
break;
}
}
function GetDir(){ return $this->dir." ";}
//=========================
function SetAccKey($key)
{ $this->accesskey=' accesskey="'.$key.'"';}
function GetAcckey(){ return $this->accesskey." ";}
//=========================
function SetDisabled($disabled){ if($disabled==true) $this->disabled=" disabled"; }
function GetDisabled(){ return $this->disabled." ";}
//=========================
function SetSize($size){ $this->Size=' size="'.$size.'"';}
function GetSize(){ return $this->Size." ";}
//=========================
}
//=============================
//=============================
//=============================
/*
#ClassName z99radio
#@ Create By Night
#@ 2003-07-28
#生成一個單選組
方法:
- SetName 設定名字
- SetItem 設定資料 (二維陣列,選中的ID)
- ReturnString 直接返回字串
- ReturnArray 返回一個一維陣列
- Show ReturnString 的別名
*/
//=============================
/*
#例子:
$rs=new z99radio();
$item=array("-1"=>"保密","1"=>"男","2"=>"女");
$rs->SetName("sex");
$rs->SetItem($item,1);
echo $rs->ReturnString();
$rs->RetuanArray();
*/
//=============================
class z99radio{
var $name=NULL;
var $Item=array();
var $Selected=NULL;
var $RadioArray=array();
var $RadioString=NULL;
var $Action=NULL;
//=============================
function z99radio(){}
//=============================
function SetName($name){$this->name=$name;}
function GetName(){ return $this->name;}
function SetAction($action){$this->Action=$action;}
function GetAction(){return $this->Action;}
function SetItem($Item,$Selected=NULL){
$this->Item=$Item;
$this->Selected=$Selected;
}
#名字只要一個
#值和標籤是一個二維陣列
#格式 array("value"=>"label");
function Radio(){
$name=$this->GetName();
$item=$this->Item;
$selected=$this->Selected;
$action=$this->Action;
$i=0;
while (list($value,$label)=each($item)){
$isSelected=NULL;
if($value==$selected) $isSelected="checked";
$idName=$name."_".$i;
$Radio[]="
";
$i++;
}
return $Radio;
}
//=============================
function RetuanArray(){
return $this->Radio();
}
function ReturnString(){
$Radios=$this->Radio();
$Radiount=count($Radios);
$TmpStr=NULL;
for($i=0;$i<=$RadiosCount-1;$i++){
$TmpStr.=$Radios[$i];
}
return $TmpStr;
}
function Show(){
return $this->ReturnString();
}
//=============================
}//z99Radio Class THE END
//=============================
//=============================
/*
#ClassName z99CheckBox
#@ Create By Night
#@ 2003-07-28
#生成一個複選組
方法:
- SetName 設定名字
- SetItem 設定資料 (二維陣列,選中的ID一維陣列)
- ReturnString 直接返回字串
- ReturnArray 返回一個一維陣列
- Show ReturnString 的別名
*/
//=============================
/*
#例子
$rs=new z99CheckBox();
$item=array("-1"=>"保密","1"=>"男","2"=>"女");
$selected=array("2","-1");
$rs->SetName("sex");
$rs->SetItem($item,$selected);
$rs->CheckBox();
echo $rs->Show();
*/
//=============================
class z99CheckBox{
var $name=NULL;
var $Item=array();
var $Selected=array();
var $CheckArray=array();
var $CheckString=NULL;
var $Action=NULL;
var $dbitem=false;
var $itemvalue;
var $itemlable;
//=============================
function z99CheckBox(){}
//=============================
function SetName($name){$this->name=$name;}
function GetName(){ return $this->name;}
function SetAction($action){$this->Action=$action;}
function GetAction(){return $this->Action;}
function SetItem($Item,$Selected=NULL){
$this->Item=$Item;
$this->Selected=$Selected;
}
//=============================
function ConvItem($item){
$value=$this->itemvalue;
$lable=$this->itemlable;
for ($i=0;$i $key=$item[$i][$value];
$var=$item[$i][$lable];
$ttrow[$key]=$var;
}
return $ttrow;
}
//=============================
function CheckBox(){
$name=$this->GetName();
$item=$this->Item;
if($this->dbitem==true){
$item=$this->ConvItem($this->Item);
}
$selected=$this->Selected;
$action=$this->Action;
$i=0;
while (list($value,$label)=each($item)){
$isCheck=NULL;
if(is_array($selected)){
reset($selected);
$selectedCount=count($selected);
for($j=0;$j<=$selectedCount-1;$j++){
if($value==$selected[$j]){
$isCheck="checked";
break;
}
}
}
$idName=$name."_".$i;
$CheckBox[]="
";
$i++;
}
return $CheckBox;
}
//=============================
function RetuanArray(){
return $this->CheckBox();
}
function ReturnString(){
$Radios=$this->CheckBox();
$RadiosCount=count($Radios);
$TmpStr=NULL;
for($i=0;$i<=$RadiosCount-1;$i++){
$TmpStr.=$Radios[$i];
}
return $TmpStr;
}
function Show(){
return $this->ReturnString();
}
}
//=============================
/*
2003-08-13 10:18:03
NightKids
修改 idName 改 . 為 _
2003-10-17 13:45:11
NightKids
z99CheckBox
增加 dbitem
用法和下拉一樣
*/
//=============================
# E-Mail:weidewang@magus-soft.com
//=============================
ob_end_flush();
?>
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10752043/viewspace-963230/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- java從資料庫讀取選單,遞迴生成選單樹Java資料庫遞迴
- uniapp 實現複選下拉框APP
- 讓前端的下拉框支援單選、多選及全選,後臺MyBaits解決方案前端AI
- vue使用iview實現單選,禁選,下拉框的效果VueView
- 樹開下拉選單資料來源生成
- 按概率生成隨機結果,自己控制字元結果的生成類似彩票系統隨機字元
- 資料庫字符集的選擇(轉)資料庫
- 如何將一個複雜的mysql結果集,再篩選一次MySql
- 下拉框繫結資料後如何再加入一項(比如,--請選擇--)
- jQuery解析json格式資料生成級聯選單jQueryJSON
- 解析json資料生成樹形導航選單JSON
- layui前端選單構建-批量刪除-彈框填寫-樹狀選單-樹狀下拉框選擇treeSelectUI前端
- select 下拉框選中事件事件
- jQuery自定義多選下拉框jQuery
- 寫一個工具生成資料庫實體類資料庫
- Vue element下拉框加一個自定義的選項Vue
- 力軟下拉框預設選擇第一個
- JavaScript操作文字框、單選按鈕、下拉框、核取方塊JavaScript
- excel生成單元格帶下拉選項的模板 + 資料匯入Excel
- Js/JQuery下拉框新增新選項JSjQuery
- extjs 下拉框增加空選項JS
- 帶你實現一個簡單的MYSQL資料庫生成實體類工具MySql資料庫
- 從資料庫中動態選取下拉選單的方法 (轉)資料庫
- iview中下拉框的資料繫結使用View
- selenium+python 下拉框選擇Python
- jquery獲取下拉框選中的屬性值jQuery
- C# TreeView選單,MenuStrip選單遞迴動態生成例子C#View遞迴
- JavaScript 動態生成select下拉選單JavaScript
- Selenium4自動化測試7--控制元件獲取資料--radio單選框、select下拉框選擇、iframe控制元件
- jQuery操作單選框、多選框是否選中問題jQuery
- 類似微信、QQ的下拉選單,同時也支援選單往上彈
- 短視訊直播系統,選擇選項時,點選出現下拉框
- 求教:python+selenium 下拉框選擇Python
- jQuery 動態載入下拉框選項(Django)jQueryDjango
- 一個根據資料庫自動生成model類的擴充套件資料庫套件
- 下拉框select中指定option時觸發的選中事件,以及已知選中的值,將它顯示在下拉框中事件
- SQL Server 批量生成資料庫內多個表的表結構SQLServer資料庫
- oracle利用中游標取資料庫的結果集應用例項(轉)Oracle資料庫