我是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。
所以我真的很想知道如何修复它。
提前谢谢。
答案 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>