2

我要做的是在苏格兰创建一个由32个不同位置的下拉容器。一个 div WHERE 位置 = 格拉斯哥。

我没有错误消息或任何类型的识别我的代码已经工作,因为当我在下拉列表中选择四个中的一个时,它绝对没有任何作用。

可以来清理并纠正我到目前为止所做的事情吗?我会非常感激!

这是我正在使用的文件:

头文件.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>

位置.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”的评论,因为我明白这一点,但我现在只是在测试并会修改它。

谢谢。

4

2 回答 2

2

您在 MySQL 查询中连接您的位置名称似乎有一个错误,并且它不匹配任何内容(因此没有任何内容被echo返回)。改变这个:

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

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

(除非你的数据库中有类似的东西.Glasgow.......)

然后你必须mysql_query($query)按照 Alon 的建议打电话。

于 2013-02-15T23:09:25.337 回答
0

您需要使用 mysql_query 并将资源传递给 mysql_fetch_array 函数:

$query = "SELECT * FROM podContent WHERE location = '.$location.'";
$result = mysql_query($query);
while($row = mysql_fetch_array($result))
 {
    echo $row['text'];
 }
于 2013-02-15T21:54:25.883 回答