使用javascript和php创建onChange select下拉列表,但它不起作用

使用javascript和php创建onChange select下拉列表,但它不起作用,php,javascript,sql,onchange,Php,Javascript,Sql,Onchange,我试图做的是创建一个包含苏格兰32个不同位置的下拉容器,当选择其中一个位置时,例如,格拉斯哥,它应该转到一个URL,该URL显示div中每篇文章的标题、文本等内容,其中location=Glasgow 当我在下拉列表中选择四个选项中的一个时,我没有任何错误消息或任何形式的代码工作的识别,它完全没有任何作用 你能来清理一下,纠正我到目前为止所做的一切吗?我会非常棒的 以下是我正在使用的文件: header.php <html> <head> <script src="

我试图做的是创建一个包含苏格兰32个不同位置的下拉容器,当选择其中一个位置时,例如,格拉斯哥,它应该转到一个URL,该URL显示div中每篇文章的标题、文本等内容,其中location=Glasgow

当我在下拉列表中选择四个选项中的一个时,我没有任何错误消息或任何形式的代码工作的识别,它完全没有任何作用

你能来清理一下,纠正我到目前为止所做的一切吗?我会非常棒的

以下是我正在使用的文件:

header.php

<html>
<head>
<script src="http://code.jquery.com/jquery.min.js"></script>
<script type="text/javascript">
    $(document).ready(function(){
        $('#location').change(function(){
            //Retrieve Content from the back-end PHP page, and pass the ID selected
            var url = 'location.php?location=' + $(this).val();
            $('#txtHint').load(url);
        });
    });
</script>

</head>
<body>
     <div id="header">
        <div class="headerLeftContent">
            <select id='location'>
                    <option href="Link to a dynamic page with all the content from glasgow" value="Glasgow">Glasgow</option>
                    <option href="Link to a dynamic page with all the content from x" value="x">x</option>
                    <option href="Link to a dynamic page with all the content from test" value="test">test</option>
                    <option href="Link to a dynamic page with all the content from edinburgh" value="Edinburgh">Edinburgh</option>
            </select>
            <div id='txtHint'></div>
        </div>          
    </div>

</body>
</html>
location.php

<?php
$connect = mysql_connect('xxxxxx', 'xxxxxx', 'xxxxxx');
$select_db = mysql_select_db('xxxxxx');

$location = $_REQUEST['location'];

$query = "SELECT * FROM podContent WHERE location = '.$location.'";

while($row = mysql_fetch_array($query))
{
echo $row['text'];
}

mysql_close($connect);

?>
请注意,任何关于“SQL注入”或“mysql”应该如何成为“PDO”的评论都是不需要的,因为我理解这一点,但我现在只是在测试,并将对此进行修改


谢谢。

您需要使用mysql\u query并将资源传递给mysql\u fetch\u数组函数:

$query = "SELECT * FROM podContent WHERE location = '.$location.'";
$result = mysql_query($query);
while($row = mysql_fetch_array($result))
 {
    echo $row['text'];
 }

您似乎在MySQL查询中连接位置名时出错,并且它与任何内容都不匹配,因此没有任何内容被回显。更改此项:

$query = "SELECT * FROM podContent WHERE location = '.$location.'";

除非你有像格拉斯哥这样的东西。在您的数据库中


然后你必须按照阿隆的建议调用mysql\u query$query。

为什么你的元素有href属性?这只是为了帮助人们理解我在做什么,我希望链接到一个URL,其中内容的位置=格拉斯哥或爱丁堡等。啊,好的。看看这里的Javascript:并尝试使用这种加载形式。注意它如何使用load回调的第二个参数来显示AJAX的result@Ian所以我把它粘贴到我的代码中,当我把代码上传到我的服务器时,它在JSFIDLE平台上说成功,我被一个警告击中,说错误。这意味着你有一个通信/服务器问题。现在,请尝试以下操作以获取更多信息:$'txtHint'.loadurl、函数响应、状态、xhr{alertLoad result:+status+|124;|+xhr.status++xhr.statusText;};是的,那很好,在我发布这篇文章后我就意识到了。他有着像@AyeTry一样的问题,但这对我没有帮助:
$query = "SELECT * FROM podContent WHERE location = '$location'";