从数据库读取可以选择的类别列表

来源:互联网 发布:java一年工作描述 编辑:程序博客网 时间:2024/05/05 07:58

从数据库读取可以选择的类别列表

<?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;
 }
}
?>

原创粉丝点击