从数据库读取可以选择的类别列表
<?php
/***************************************************************
'说明:从数据库读取可以选择的类别列表
'输入:strListType显示类型,包括列表(option),复选框(checkbox),单选框(radiobox);strListName选项的名称,只有单选框和复选框时有意义;strSelected已经选定的值,是一个由逗号分隔的字符串;strTable存储可选项目的数据库表名称;strTextField作为显示名称的字段;strvalueField作为可选项目的值的字段,可以为空。
'输出:一段HTML代码
'
'***************************************************************/
class cls_codeinfo
{
var $strConn;
//设置连接字符串
function conn($conn)
{
global $strConn;
$strConn = $conn;
}
function getUserTypeName($intId)
{
return $this->Id2Name("user_type","utf_name","utf_id",$intId);
}
function getUserType($strListType,$strListName,$strSelected,$strWhere)
{
return $this->getHtmlCode("user_type","utf_name","utf_id",$strListType,$strListName,$strSelected,$strWhere);
}
//取得最后要显示的HTML代码
function getHtmlCode($strTable,$strTextField,$strvalueField,$strListType,$strListName,$strSelected,$strWhere)
{
global $strConn;
$strResult = "";
$strSql = "select ";
if($strvalueField != "")
$strSql .= $strvalueField . "," ;
$strSql .= $strTextField . " from " . $strTable;
if($strWhere != ""){$strSql .= " where " . $strWhere;}
$strSql .= " order by " . $strTextField . " asc";
$rs = mysql_query($strSql);
while($line = mysql_fetch_array($rs))
{
if($strListType == "option")
{
$strResult .= "<option";
if($strvalueField != "")
$strResult .= " value = /"" . $line[$strvalueField] . "/"";
if($strvalueField != "")
{
if($this->strInStr($strSelected,$line[$strvalueField])){$strResult .= " selected";}
}Else{
if($this->strInStr($strSelected,$line[$strTextField])){$strResult .= " selected";}
}
$strResult .= ">";
$strResult .= $line[$strTextField];
$strResult .= "</option>";
}else{
$strResult .= "<input type=/"" . $strListType . "/" name=/"" . $strListName . "/" value=/"" ;
if($strvalueField != "")
{
$strResult .= $line[$strvalueField];
}Else{
$strResult .= $line[$strTextField];
}
$strResult .= "/"";
if($strvalueField != "")
{
if($this->strInStr($strSelected,$line[$strvalueField])){$strResult .= " checked";}
}Else{
if($this->strInStr($strSelected,$line[$strTextField])){$strResult .= " checked";}
}
$strResult .= ">";
$strResult .= $line[$strTextField];
}
}
return $strResult;
}
//判断一个字符串是否包含在一个以逗号或分号分隔的字符串中
function strInStr($strLong,$strShort)
{
if(strpos($strLong,",") > 0 || strpos($strLong,";") > 0)
{
if(strpos($strLong,",") > 0)
{
$arrStrLong = split($strLong,",");
}Else{
$arrStrLong = split($strLong,";");
}
for($i = 0;$i <= UBound($arrStrLong);$i++)
{
if(Trim($arrStrLong[i]) == Trim($strShort))
{
$booResult = true;
break;
}Else{
$booResult = false;
}
}
}Else{
if($strLong != "" && $strShort != "")
{
if($strLong == $strShort)
{
$booResult = true;
}Else{
$booResult = false;
}
}Else{
$booResult = false;
}
}
return $booResult;
}
//将一个ID编号转换成相应的名称
function Id2Name($strTable,$strNameField,$strIdField,$intId)
{
global $strConn;
$strSql = "select " . $strNameField . " from " . $strTable . " where " . $strIdField . " = " . $intId . " order by " . $strIdField . " desc limit 0,1";
//echo $strSql;
$rs = mysql_query($strSql)or die("Invalid query: " . mysql_error());
if($line = mysql_fetch_array($rs))
{
$strResult = $line[0];
}Else{
$strResult = false;
}
return $strResult;
}
}
?>