Jquery的.load()通过URL

时间:2016-07-16 13:05:19

标签: javascript php jquery html mysql

我是Jquery / PHP的初学者。我尝试使用 .load()通过网址中的特定ID从数据库中获取一些数据,但我无法让它工作。

我会在发布我的两个代码之后谈谈我面临的问题。

以下是 index.html 文件:

<!DOCTYPE html> 
<html> 
<head> 
    <title>People Info</title> 
    <meta name="viewport" content="width=device-width, initial-scale=1"> 
    <script src="https://code.jquery.com/jquery-1.10.2.js"></script>
</head>
<body>

    <b>People Info:</b>
    <ol id="new-projects"></ol>

    <script>
    $( "#new-projects" ).load( "GetDataPeople.php" );
    </script>
</body>
</html>

这是我的 GetDataPeople.php 文件:

<?php
error_reporting(E_ALL); 
ini_set('display_errors', 1);

$servername = "localhost";
$username = "user";
$password = "pass";
$db_name = "people";

// Create connection
$conn = new mysqli($servername, $username, $password, $db_name);

// Check connection
if ($conn->connect_error){
die("Connection failed: " . $conn->connect_error);
}

$id = $_GET['id'];
$query = "SELECT * FROM people WHERE id='" . $id . "'";
$result = mysqli_query($conn,$query);

while($row = mysqli_fetch_array($result)) {
    echo "<br><br>";
    echo $row['id'];
    echo $row['FirstName'];
    echo $row['LastName'];
    echo $row['Phone'];
}
?>

GetDataPeople.php 本身工作正常,我的意思是当我尝试输入&#34; GetDataPeople.php?id = 2 &#34;在URL中,我得到ID号为2的数据,这正是我想要解决的问题。

但是当我尝试使用&#34; index.html?id = 2 &#34;它说查询有问题(我认为因为它没有在URL中使用ID。我试图使用一个简单的查询,如:SELECT * FROM people,它工作得很好。所以,我认为是什么导致错误是因为它没有读取URL。

所以我真的很想知道如何修复它。

提前谢谢。

3 个答案:

答案 0 :(得分:1)

jQuery自动确定load()是执行获取还是发布。

将变量传递给$ _GET ['id']可以这样工作:

<script>
  var id = 1;
  $( "#new-projects" ).load( "GetDataPeople.php",{ "id": id } );
</script>

$ _POST ['id']的帖子如下所示:

troop_fk

答案 1 :(得分:0)

你必须在你给load()函数的网址中指定想要的id,而不是在你调用index.html时...你只需动态地给出你的id:{{1} } ?id=x函数网址。

例如,单击id =“2”的按钮会调用getdatapeople.php?id = 2

如果你必须动态加载它,我假设。

load()

脚本:

<button class="btn-data" data-people-id="2">click me</button>

答案 2 :(得分:0)

希望这能解决您的问题。

<script>

function GetParameterValues(param) {  
            var url = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&');  
            for (var i = 0; i < url.length; i++) {  
                var urlparam = url[i].split('=');  
                if (urlparam[0] == param) {  
                    return urlparam[1];  
                }  
            }  
        }  

 $( "#new-projects" ).load( "GetDataPeople.php?id=" + GetParameterValues('id');
<script>