Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/289.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
Javascript 从数据库链接下拉列表_Javascript_Php_Html_Ajax - Fatal编程技术网

Javascript 从数据库链接下拉列表

Javascript 从数据库链接下拉列表,javascript,php,html,ajax,Javascript,Php,Html,Ajax,所以我基本上是想做到这一点:当有人从名为subject的下拉列表中选择任何选项时,sections下拉列表应该显示该主题的所有部分。“主题”下拉列表运行良好,可以获取所有主题的名称,但其中一个部分不起作用。我找不到问题所在。提前谢谢。我的代码如下: 我的js代码 <script type="text/javascript"> function getSection(strURL) { alert(strURL); var req = getXMLHTTP(

所以我基本上是想做到这一点:当有人从名为subject的下拉列表中选择任何选项时,sections下拉列表应该显示该主题的所有部分。“主题”下拉列表运行良好,可以获取所有主题的名称,但其中一个部分不起作用。我找不到问题所在。提前谢谢。我的代码如下:

我的js代码

    <script type="text/javascript">
function getSection(strURL)
{      
alert(strURL);   
 var req = getXMLHTTP(); // fuction to get xmlhttp object
 if (req)
 {
  req.onreadystatechange = function()
 {
  if (req.readyState == 4) { //data is retrieved from server
   if (req.status == 200) { // which reprents ok status                    
     document.getElementById('sectiondiv').innerHTML=req.responseText;
  }
  else
  { 
     alert("There was a problem while using XMLHTTP:\n");
  }
  }            
  }        
req.open("GET", strURL, true); //open url using get method
req.send(null);
 }
}
</script>

函数getSection(strURL)
{      
警报(strURL);
var req=getXMLHTTP();//获取xmlhttp对象的函数
如果(请求)
{
req.onreadystatechange=函数()
{
如果(req.readyState==4){//从服务器检索数据
如果(req.status==200){//哪个代表ok状态
document.getElementById('sectiondiv')。innerHTML=req.responseText;
}
其他的
{ 
警报(“使用XMLHTTP时出现问题:\n”);
}
}            
}        
req.open(“GET”,strURL,true);//使用GET方法打开url
请求发送(空);
}
}
php代码:

<div>
            Subject:

    <?php

    $conn = new mysqli('localhost', '', '', '') 
    or die ('Cannot connect to db');

        $result = $conn->query("select name from class");


        echo "<select name='subject' onchange='getSection('findsection.php?subject=>'this.value'";

        while ($row = $result->fetch_assoc()) {

                      unset($id, $name);
                      $name = $row['name']; 
                      echo '<option value="subject">'.$name.'</option>';

    }

        echo "</select>";
    ?> 
            </div>
    <br>  
    <div id="sectiondiv">
    Section: 
        <select name="select">
     </select>
            </div>

主题:

第节:
my findsection.php

<? $subject=intval($_GET[‘subject’]);;
$servername = "localhost";
$username = "";
$password = "";
$dbname = "";
$mysqli  = new Mysqli($servername, $username, $password, $dbname) or mysqli_error($mysqli);
$section = $mysqli->query("SELECT section FROM class WHERE name = '$subject'")->fetch_object()->section; 
$result=mysql_query($section);?>
<select name="section">
<? while ($row = $result->fetch_assoc()) { ?>
   <option value><?=$row['section']?></option>
<? } ?>
</select>
回显“'this.value'”;
您似乎缺少一个括号


我真心希望事情就这么简单,让我知道!:D

不,这没有解决任何问题,当我复制/粘贴时是一个错误。
echo "<select name='subject' onchange='getSection('findsection.php?subject=>'this.value'";