三级联动怎么设计数据库

三级联动怎么设计数据库,第1张

给你2种主流的设计方案:

1、用树形的形式来设计

字段ID、PID,其他字段。。。PID是上级的ID,联动的时候查询,只需要查询PID跟当前变动的对应的ID相等就可以

2、用编码的方式

类似身份z的前6位的设计,就是分别是省、市、区。。。。

你查询的时候,直接查询对应的编码一样的就可以

海枫科技

数据库设计:

database: db

table: sort1,sort2

sort1-data:  id   name   vablue

             1    aa

             2    bb

sort2-data:  id   name   parent_id

             1    aa-a   1

             2    aa-x   1

             3    bb-m   2

             4    bb-j   2

在dw中放置2个跳转菜单,

在第一个select中添如下代码:

<option>---请选择---</option>

<?php

$host = "localhost"

$db_name = "db"

$username = "root"

$password = ""

$conn=mysql_connect($host,$username,$password) or die("不能链接到数据库!")

$db=mysql_select_db($db_name,$conn)

$sql="select * from sort1 order by id ASC"

$result = mysql_db_query($db_name,$sql)

while($row = mysql_fetch_array($result)) {

      $sort1_id = $row["id"] 

      $sort1_name = $row["name"]

      $sort1_value = $row["value"]

      if(!$sort1_value){

 $str = "<option value = '?data1=$sort1_id'"

    if($row["id"] == $data1){

    $str .= "selected"

 }

      }

      else{

           $str = "<option value = '$sort1_value'"

      }

      $str .= ">$sort1_name</option>"

      echo $str 

}

?>

在一级的DropDownLis1中帮定数据

DropDownLis1.DataSource = dt //数据源

DropDownLis1.DataTextField = "classname"//要帮定的字段名称

DropDownLis1.DataValueField = "ID"

DropDownLis1.DataBind()

在二级中先开启DropDownLis1的AUTOPOSTBACK,并在DropDownLis1的文本改变事件中(SelectedIndexChanged)为DropDownLis2添加Item

string LayerID= DropDownLis2.SelectValue//根据此LayerID

DropDownLis2.DataTextField = "classname"//要帮定的字段名称

DropDownLis2.DataValueField = "LayerID"

DropDownLis2.DataBind()

这样以此类推,你可以把他写成递归函数,这样就可以

希望对你有帮助,我手写的,有不对的地方自己改改就是了


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9857987.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-02
下一篇 2023-05-02

发表评论

登录后才能评论

评论列表(0条)

保存