我想知道如何使用用戶輸入作爲搜索參數來實現分頁。我理解沒有用戶輸入的分頁的基礎知識,並沒有這樣做的麻煩,這是當用戶輸入時,它使我困惑。我不知道如何使頁碼鏈接根據搜索到的內容使用正確的查詢。使用搜索參數創建分頁鏈接
例如基本思想:
HTML
<input type="text" name="id" placeholder="ID">
<input type="text" name="name" placeholder="Name">
<button id="btn_search">Search</button>
<div id="search_results"></div>
JS
$("#btn_search").on('click', function() {
$.ajax({
url: 'process.php',
type: 'POST',
data: {id: $("input[name=id]").val(), name: $("input[name=name]").val()},
success: function(result) {
$("#search_results").html(result);
}
});
});
PHP
// Grab submitted search parameters and store in variable
if (isset($_POST["id"]) && !empty($_POST["id"])) {
$id = $_POST["id"];
} else {
$id = null;
}
if (isset($_POST["name"]) && !empty($_POST["name"])) {
$name = $_POST["name"];
} else {
$name = null;
}
$count_query = "SELECT COUNT(*) FROM users";
// Code here to get total row count for pagination
$query = "SELECT * FROM users WHERE id = ? AND name = ?";
$stmt = $connection->prepare($query);
$stmt->bind_param('is', $id, $name);
$stmt->execute();
// Dump as table
我想正確的做法是這樣的:
<ul class="pagination">
<li><a href="paginate.php?id=<?php echo $id; ?>&name=<?php echo $name; ?>"></a></li>
<li><a href="paginate.php?id=<?php echo $id; ?>&name=<?php echo $name; ?>"></a></li>
</ul>
然後包括頁碼一個參數通過一個for循環。
用一些客戶端輸入驗證是否安全?我有一個有效的方法嗎?
編輯
函數naveed的回答是有幫助的,所以我會標記爲回答。本文:https://jadendreamer.wordpress.com/2012/11/20/php-tutorial-searching-and-pagination/幫助我瞭解瞭如何做到這一點。它很古老,但很好地解釋了一切。我結束了使用標籤傳回查詢參數。
使用jQuery數據表,如果它適合您的問題,它會自動爲您做所有事情! –
雖然我絕對可以做到這一點......我很想學習如何自己手動編寫代碼! –