私はプロファイルを保持するデータベースを持っています。 これらのプロファイルはSQLステートメントで取得し、jsonにエンコードして、javascriptで印刷して、ユーザーがフロントエンドでこれらのプロファイルでフィルタリングできるようにします。JavascriptにMySQL IDを取得
sqlステートメントからjsonを介してスクリプトに一次キー(ID)を取得する必要があるため、IDを使用して独自のURLを取得する個々のプロファイルページを作成できます。私のMYSQLファイルの最後の部分は、この
$sql = $select . $from . $where;
$statement = $conn->prepare($sql);
$statement->execute();
$results = $statement->fetchAll(PDO::FETCH_ASSOC);
$json = json_encode($results);
echo($json);
のように見えます
クエリから結果を出力するスクリプトは、だから、すべての行は、それがPHPで自分の<a>
タグの
function makeTable(data){
var getUID = "<?php $row['UID'] ?>";
var tbl_body = "";
$.each(data, function() {
var tbl_row = "";
$.each(this, function(k , v) {
tbl_row += "<td>"+v+"</td>";
})
tbl_body += "<tr>"+tbl_row+"</tr>";
})
return tbl_body;
}
function searchOptions(){
var opts = [];
$checkboxes.each(function(){
if(this.checked){
opts.push(this.name);
}
});
return opts;
}
function updateSearch(opts){
$.ajax({
type: "POST",
url: "getProfiles.php",
dataType : 'json',
cache: false,
data: {filterOpts: opts},
success: function(records){
$('#profiles tbody').html(makeTable(records));
}
});
}
var $checkboxes = $("input:checkbox");
$checkboxes.on("change", function(){
var opts = searchOptions();
updateSearch(opts);
});
updateSearch();
を持っている必要がありますされますecho '<a class="viewProfile" href="user.php?id=' . $row['ID']. '">';
私はですべての行に<a>
を取得するために管理しています3210でもまだIDが必要です
私はどのようにIDをスクリプトから得るのですか?私のコメントにさらに
あなたのwhileループでは、あなたが簡単にJavaScriptでセットをデコードすることができますので、あなたの結果を得るために連想配列を作成する必要があります。例。 $ results [] = array( 'id')=> $ row ['id']); echo json_encode($ results)。次に、あなたのJQueryで配列の個々の要素を取得することができます。私はあなたがjqueryのAjaxレスポンスに精通していると推測しています –
"data"要素として渡されたphpページへのajax呼び出しを使用できます。次に、エコーされたjsonオブジェクトは、ページ内にjavascript配列として格納されます。 –