php中的combobox树视图&;mysql
是否有人知道如何在组合框中显示MySQL db分层数据(嵌套集模型()),如“Category:”comboxbox字段下所示:php中的combobox树视图&;mysql,php,mysql,combobox,treeview,Php,Mysql,Combobox,Treeview,是否有人知道如何在组合框中显示MySQL db分层数据(嵌套集模型()),如“Category:”comboxbox字段下所示: 谢谢当你为你的组合框打印标签时,你需要检查每个元素的深度(如何获得深度在你问题中链接的文章中),并打印那么多的“|”字符串和另外两个下划线(uuuuuuu)以使它看起来像一棵树。 <?PHP function GetCats($id='0',$sublev='0',$vname='C_Parent') { $DQ = new MySQLTable; $DQ
谢谢当你为你的组合框打印
标签时,你需要检查每个元素的深度(如何获得深度在你问题中链接的文章中),并打印那么多的“|”字符串和另外两个下划线(uuuuuuu)以使它看起来像一棵树。
<?PHP
function GetCats($id='0',$sublev='0',$vname='C_Parent')
{
$DQ = new MySQLTable;
$DQ -> TblName = 'cat_categories';
$WHERE[$vname]['=']=$id;
$res = $DQ -> Select('C_ID,C_Name',$WHERE,'C_ID');
if (mysql_num_rows($res)>0)
{
while($row = mysql_fetch_assoc($res))
{
$ss='';
if($sublev!=='0')
{
for($i=0;$i<=$sublev*10;$i++)
{
$ss.=' ';
}
$ss.='|';
for($i=0;$i<=$sublev;$i++)
{
$ss.='-';
}
$ss.='>>';
}
$sel_s = '';
if(IsSet($_POST['C_Parent']))
{
if($row['C_ID']==$_POST['C_Parent'])
{
$sel_s = ' selected';
}
} elseif (IsSet($_POST['I_Parent'])) {
if($row['C_ID']==$_POST['I_Parent'])
{
$sel_s = ' selected';
}
} else {
$sel_s = '';
}
Echo "<option value=\"".$row['C_ID']."\" ".$sel_s.">".$ss.$row['C_Name']."</option>\r\n";
GetCats($row['C_ID'],$sublev+1);
}
}
}
Echo "<select name=\"C_Parent\">\r\n";
Echo "<option value=\"0\">...</option>\r\n";
GetCats();
Echo "</select>";
?>
类似这样的东西。
但这是我自己的MySQL类。查询是:选择C_ID,C_Name其中C_Parent=$ID ORDER BY C_ID
其中$ID-php变量(当前父类)。
如果选择了“错误提交到存储”,则会有$\u POST变量。
对于许多查询来说,这并不是最有效的方法。更有效的方法是将所有数据发送到阵列以进行处理