<?$table="type1";$sql="select * from " . $table . $search;
$result=mysql_query($sql);$type1=$row["type1"];
  ?><select id=oSel1 onchange=Chg() name="typep" size="1">
<? 
$js_str="var Table2dim = new Array(\n";
while($row = mysql_fetch_array($result)){ 
$sql2="select * from type2 where type1='$row["type1"]'";
$result2=mysql_query($sql2);
    $js_str.="new Array(";
while($row2=mysql_fetch_array($result2)){
$js_str.='"'.$row2[type2].'",';
}
if(substr($js_str,-1)==",") $js_str=substr($js_str,0,-1);
    $js_str.="),\n";

?>
            <option value="<? print(HtmlOut($row["type1"])); ?>" >
   <? print(HtmlOut($row["type1"])); ?></option>
     <?
       $js_str.="null\n)";
";         }
     ?>
</select><select id=oSel2>
</select>
<script>//怎样写能从数据库中读出信息,是不是应该用别的数组??
<?php echo $js_str;?>function Chg()
{
    ChgOptions(document.all.oSel1.selectedIndex);
}
function ChgOptions(iSel1)
{
    if ( 0 <= iSel1 && iSel1 < Table2dim.length )
    {
        var oSel2 = document.all.oSel2, i;        //删除所有旧选项(不知道有没有不用循环的删除办法)
        for ( i = oSel2.options.length; -- i >= 0; )
            oSel2.options.remove(i);        //创建新关联选项
        var Table1dim = Table2dim[iSel1];
        for ( i = 0; i < Table1dim.length; i ++ )
        {
            var o = document.createElement('<option>');
            o.text = Table1dim[i];
            oSel2.options.add(o);
        }
    }
}//初始化
ChgOptions(0);
</script>

解决方案 »

  1.   

    不行啊
    提示错误:Parse error: parse error, expecting `T_STRING' or `T_VARIABLE' or `T_NUM_STRING'
      

  2.   

    另外<?php echo $js_str;?>是什么意思???
    这种写法能嵌在JS中吗??
      

  3.   

    以下没问题:<?php
    include("global.php");
    include("checksess.php");
    ?><html>
    <head>
    <title>top</title>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
    <link rel=stylesheet href=home.css>
    </head><body class="main">
    <div style=height:1000>
    <h3>计划中</h3>
    <?
    $table="type1";

    $sql="select * from " . $table;
    $result=mysql_query($sql);

    $type1=$row["type1"];
    ?><select id=oSel1 onchange=Chg() name="typep" size="1">
    <? 
    $js_str="var Table2dim = new Array(\n";
    while($row = mysql_fetch_array($result)){ 
    $sql2="select * from type2 where type1='$row[type1]'";
    $result2=mysql_query($sql2);
        $js_str.="new Array(";
    while($row2=mysql_fetch_array($result2)){
    $js_str.='"'.$row2[type2].'",';
    }
    if(substr($js_str,-1)==",") $js_str=substr($js_str,0,-1);
        $js_str.="),\n";

    ?>
                <option value="<? print($row["type1"]); ?>" >
       <? print($row["type1"]); ?></option>
    <?
       }
    $js_str.="null\n)";
    ?>
    </select><select id=oSel2>
    </select>
    <script>//怎样写能从数据库中读出信息,是不是应该用别的数组??
    <?php echo $js_str;?>function Chg()
    {
        ChgOptions(document.all.oSel1.selectedIndex);
    }
    function ChgOptions(iSel1)
    {
        if ( 0 <= iSel1 && iSel1 < Table2dim.length )
        {
            var oSel2 = document.all.oSel2, i;        //删除所有旧选项(不知道有没有不用循环的删除办法)
            for ( i = oSel2.options.length; -- i >= 0; )
                oSel2.options.remove(i);        //创建新关联选项
            var Table1dim = Table2dim[iSel1];
            for ( i = 0; i < Table1dim.length; i ++ )
            {
                var o = document.createElement('<option>');
                o.text = Table1dim[i];
                oSel2.options.add(o);
            }
        }
    }//初始化
    ChgOptions(0);
    </script></body>
    </html>
      

  4.   

    <?php echo $js_str;?>
    这是一段PP的语句,作用是PRINT 变量JS_STR的值
      

  5.   

    ok!!!
    是我的错误,数据库名写错了,没连接上,sorry,呵呵
    分都给你了!!!!!
    顺便问一下,您的QQ号是多少??
    我的:110258678