2016-07-16 12 views
0

私はJquery/PHPの初心者です。私は.load()を使用してURLの特定のIDでデータベースからデータを取得しようとしていますが、動作させることができません。URLの特定のIDでMySQLデータベースからデータを取得するJqueryの.load()

私は両方のコードを投稿した後、私が直面している問題について話します。

ここのindex.htmlファイルです:私は、

<?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自体は正常に動作します:

<!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ファイルです私がURLに "GetDataPeople.php?id = 2"と入力しようとすると、IDがnuのデータが得られますmber 2、これは私がこれから抜け出したいものです。

しかし、私は「はindex.htmlに?ID = 2」それは、クエリ(それはURL内のIDを使用していなかったので、私が思うに何か問題があることを述べている。私が使用しようとした使用しようとすると、 SELECT * FROM peopleのような単純なクエリで、うまくいきました。だから、URLを読んでいないためにエラーが発生したと思います。

私は本当にそれを修正する方法を知りたいと思います。

ありがとうございます。 load()機能のURLで?id=xを:あなたはindex.htmlをを呼び出すとき

+0

をhtmlあなたはidパラメータなしでPHPページをリクエストしています。だからあなたはPHPコードから未定義の変数エラーを受け取りました –

+0

'load(" GetDataPeople.php?id = ID ")' –

答えて

0

はあなたがload()機能に与えるURLで希望のIDを指定する必要が、ない...あなたはちょうどあなたが行ったようにIDを与えるdynamicalyする必要があります。例えば

、ID = "2" でボタンをクリックすると、getdatapeople.php呼ぶだろう?ID = 2

あなたは私がとるものを、dynamicalyそれをロードする必要がある場合。

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

スクリプト:

url = 'getpeopledata.php'; 

$('.btn-data').click(function(){ 

    var id = $(this).data('people-id'); 
    url += '?id=' + id; 
    $(some-element)load(url); 

}); 
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> 
1

jQueryは、load()がgetまたはpostを自動的に行うかどうかを自動的に判断します。

[ 'ID'] $ _GETに変数を渡すと、このように動作します:$ _POST [ 'ID']に

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

ポストは次のようになります。あなたは

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