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