Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/287.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 我想创建一个动态下拉列表(不使用oci/mysql)_Php_Ajax_Oracle - Fatal编程技术网

Php 我想创建一个动态下拉列表(不使用oci/mysql)

Php 我想创建一个动态下拉列表(不使用oci/mysql),php,ajax,oracle,Php,Ajax,Oracle,我想创建一个动态下拉列表 选择DE时显示SDE 我的问题是,尽管显示了DE列表(附快照) 但我不懂SDE (因为我认为我无法传递onclick值 代码中的以下行:------------ 回显“.$jto.”;) 我尝试了很多选择,但都没有成功 enter code here <form name="form1" action="" method="post"> <table> <tr> <td> select de</td

我想创建一个动态下拉列表 选择DE时显示SDE 我的问题是,尽管显示了DE列表(附快照) 但我不懂SDE (因为我认为我无法传递onclick值 代码中的以下行:------------ 回显“.$jto.”;)

我尝试了很多选择,但都没有成功

    enter code here

    <form name="form1" action="" method="post">
<table>
<tr>
<td> select de</td>
<td><select id="dedd" onChange="change_de()">
<option>select</option>
<?php


    $jtosql="SELECT DISTINCT DE_OD FROM cdr_phone_control";
    $jtoqr=odbc_exec($conn, $jtosql);
    while(odbc_fetch_row($jtoqr))
                { 
            $jto=odbc_result($jtoqr,"DE_OD");

            echo '<option value="'.$jto.'">'.$jto.'</option>';
            //echo "<option>".$jto."</option>";
            /*?><option value="<?php echo $jto; ?>">"<?php".$jto."?></option><?php
            ?><option><?php echo ."$jto." ?></option><?php
            ?><option value="<?php echo $jto ?>"><?php echo "$jto"; ?></option><?php
            ?><a href="test52.php?page=<?php echo $b;?>" style="text-decoration:none"><input type="submit" value="<?php echo $b." "; ?>"</a><?php*/
            }           
$page=$_GET["dedd"];            
            ECHO $jto;
        echo $jtoqr;
        echo $page;
    /*?><a href="test52.php?page=<?php echo $b;?>" style="text-decoration:none"><input type="submit" value="<?php echo $b." "; ?>"</a><?php*/       
?>
</select>
</td></tr>

<tr><td>select sde</td>
<td>
<div id="sde">
<select><option>select</option></select></div>
</td></tr>
</table>
</form>
<script type="text/javascript">
function change_de()
{
var xmlhttp=new XMLHttpRequest();
xmlhttp.open("GET","ajax.php?de="+document.getElementById("dedd").value,false); 
xmlhttp.send(null);
//alert(xmlhttp.responseText);
document.getElementById("sde").innerHTML=xmlhttp.responseText;

}
</script>

/*AJAX.PHP STARTS HERE */
$de=$_GET['dedd'];
//$staff=$_POST['callLL'];
if($de!="")
{
$jtosql="SELECT DISTINCT SDO_OD FROM cdr_phone_control where de_od='$de'";
    $jtoqr=odbc_exec($conn, $jtosql);
    echo "<select>";
    while(odbc_fetch_row($jtoqr))
                { 
            $jto=odbc_result($jtoqr,"SDO_OD");
            //echo "<option>".$jto."</option>";
            /*?><option value="<?php echo $jto; ?>">"<?php".$jto."?></option><?php
            ?><option><?php echo ."$jto." ?></option><?php*/
            ?><option value="<?php echo $jto ?>"><?php echo "$jto"; ?></option><?php
            }
echo "</select>";   

[enter image description here][1]


  [1]: https://i.stack.imgur.com/S37R8.jpg
在此处输入代码
选择de
选择

您的代码中有很多错误。您应该更改编写代码的方式。然后您会收到任何错误?当您调试此代码时,它在哪里/如何具体失败?生成的HTML是什么?是否调用了JavaScript更改处理程序?是否发出了AJAX请求?它是否包含您期望的数据?服务器的响应是什么?您不应该在选择标记中给出任何回显或打印。这些回显只是为了查看我是否获得所需的输出。是的,我获得了第一个下拉列表,没有任何错误,但当我选择这些选项中的任何一个时,我什么也得不到,回显“”。$jto。“;这是主要原因。问题的关键是,如何将所选值作为输入从这些选项中推出以执行第二个查询?如果满足($de!=“”)条件,则AJAX、JAVA响应正常&第二个下拉列表隐藏,并附加快照