要从数据库里取内容。不知道php里如何和js交互数据。

解决方案 »

  1.   

    交互~?用echo和print把js代码动态print出来不就可以了么~?
      

  2.   

    不过js更稳定,而且如果涉及到安全、保密方面还是不要用js更好。我就看到很多严谨的公司它们就不是一味的用js来做联动菜单。
      

  3.   

    不用js或VS?那用什么操作表单值,,,?
      

  4.   

    我做的是四级联动的下拉菜单,
    用dw表单中的跳转菜单,用php从数据库动态得到菜单项。
      

  5.   

    hicepig(冰心) 说说你的具体方法。给我发短信或者这里告诉我。然后给你加分。
      

  6.   

    用iframe,可以实现无限及连动
      

  7.   

    篇幅的关系,举个2级的例子,其它依此类推。
    数据库设计:
    database: db;
    table: sort1,sort2;
    sort1-data:  id   name   vablue
                 1    aa
                 2    bbsort2-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; 
    }
    ?>
      

  8.   

    continue
    在第二个select中添如下代码:
    $temp = $data1;
    $sql = "select * from sort2 where parent_id=$temp order by id ASC";
    $result = mysql_db_query($db_name,$sql);
    if(!$result){
       echo "<option>------</option>";
    }
    else{
       while($row = mysql_fetch_array($result)) {
             $sort2_id = $row["id"]; 
             $sort2_name = $row["name"];
             $sort2_value = $row["value"];
             if(!$sort2_value){
                $str = "<option value = '?data2=$sort2_id'";
                if($row["id"] == $data2){
           $str .= "selected";
                } 
             }
             else{
         $str = "<option value = '$sort2_value'";
             }
             $str .= ">$sort2_name</option>";
             echo $str;
       }
    }
    ?>
    网页版面的关系,我换了QQ菜单。这个菜单还存在一些问题,我只做到这一步而已,
    遇到问题再帖出来大家看看:)
      

  9.   

    我最近也被这样的问题弄的头昏脑胀,而且我的问题比较麻烦,是动态连接数据库的(mysql) ,而且不只一个表,不过还好是二级菜单,想上面那种人工填充的方法是没什么意义的,以前在asp里我也这么做过,如果选项不多而且几乎不会变动的话倒可以考虑,如果是数据库经常更新的话就没什么意思。还有 hicepig(冰心) 这位大侠你的 方法明显是不行的,因为你的代码存在两次访问服务器是不可能实现的!!(本人还特意将你的代码试了一下)
    还有最好的方法本人认为是用js,但是在php里我没有实现过,理论上是可以的,asp里我实现过!
    主要思路是在访问这张网页 的时候就一次性将你需要的数据库数据读出来,放在临时数组里,然后在选择第一个选项的时候利用js触发事件,将对应的选项(已经存在临时数组的)option到第二个选项里,这样的话就不存在客户端一个网页访问数据库两次的情况了!!
    有已经在php里实现这个功能的朋友,本人希望认识,谢谢
    (当然是数据库动态调用,且是两个表以上,同 hicepig(冰心) 的例子里的数据库文件相类似)Thanks in advance!
      

  10.   

    我也很关注!最好有PHP的例子!
      

  11.   

    我之前做的是4级联动的菜单,也是mysql数据库。
    我在这里只举了一个简单的例子——2级。
    有一个地方,第2段代码的前面漏掉了<?php
    不好意思。
    我又试了一下,没有问题的可以实现动态的从数据库显示相应的option项。对于Mickey1984() 的选项多的说,
    在这个程序中只需在数据库中增加数据项,怎么会不行呢??
    不是很明白你的意思。楼主试了吗??
      

  12.   

    再次给出第2段代码:
     <?php
    $temp = $data1;
    $sql = "select * from sort2 where parent_id=$temp order by id ASC";
    $result = mysql_db_query($db_name,$sql);
    if(!$result){
       echo "<option>------</option>";
    }
    else{
       while($row = mysql_fetch_array($result)) {
             $sort2_id = $row["id"]; 
             $sort2_name = $row["name"];
             $sort2_value = $row["value"];
             if(!$sort2_value){
                $str = "<option value = '?data2=$sort2_id'";
                if($row["id"] == $data2){
           $str .= "selected";
                } 
             }
             else{
         $str = "<option value = '$sort2_value'";
             }
             $str .= ">$sort2_name</option>";
             echo $str;
       }
    }
    ?>
      

  13.   

    $sort2_value = $row["value"];
    ------------------------------
    sort2-data:  id   name   parent_id
                 1    aa-a   1
                 2    aa-x   1
                 3    bb-m   2
                 4    bb-j   2
    --------------------------------
    hicepig(冰心) :
    数据库中的字段码跟网页代码中的字段名根本对不上,还有第一段代码中的VLAUE赋值给OPTION中的VLAUE,但数据库中的VLAUE是NULL,这个是何用意。
    其他我也不多说了。
      

  14.   

    to hicepig(冰心):
    我不知道你的情况是什么样子的,你更新后的代码还是不能实现(至少在我的情况下是这样的),而且还有错误。也许你用了两个网页,你可以仔细说说!
    我上次的思路是说:当你将第一个选项递交给服务器的时候,其实网页已经访问数据库一次了,而此时如果你还是同一个网页来填充第二个选项的话是不可能的,除非用两个网页,或者是一个网页调用另外一个js文件。
    我联系方式 [email protected]
    有问题讨论,谢谢!
      

  15.   

    肚子饿啊!!
    闪人啊,最近编com组件人都快死了啊