[英]how to paginate the retrieved data from mysql database by using php
我在我的網站上有一個搜索頁面,用戶可以在其中搜索數據庫中的所有數據。我在數據庫中有一個名為property的表,可以從中提取所有搜索到的數據。 現在我想將分頁添加到我的結果頁面,並且只想在首頁上顯示8條記錄。 我的網站在wordpress中,根據搜索檢索數據的代碼如下:
<?php
if(isset($_REQUEST['submit']))
{
$search = $_POST['cs'];
$field_array = array('ID', 'ManagementCompanyID', 'MarketingName', 'PropertyURL', 'Address', 'City', 'State', 'PostalCode', 'StructureType', 'UnitCount', 'YearBuilt', 'LeaseLength', 'Parking', 'ShortDescription');
foreach($field_array as $value)
{
$query = "SELECT * FROM `wp_property` WHERE `$value` LIKE '%$search%' ";
$result = mysql_query($query);
while($row = mysql_fetch_assoc($result))
{
echo "<pre>";
print_r($row);
echo "<pre>";
}
}
}
?>
$ field_array的元素是wp_property表的列。 任何幫助將不勝感激..在此先感謝
嘗試這個:
<?php
if(isset($_POST['submit'])) { // DO NOT USE $_REQUEST unless You are sure You need this... Use $_GET or $_POST accordingly...
$search = mysql_real_escape_string($_POST['cs']); // ALWAYS sanitize user input
$field_array = array('ID', 'ManagementCompanyID', 'MarketingName', 'PropertyURL', 'Address', 'City', 'State', 'PostalCode', 'StructureType', 'UnitCount', 'YearBuilt', 'LeaseLength', 'Parking', 'ShortDescription');
// Pagination
$limit = 15; // change that constant if You want or let it be a value from form...
$offset = isset($_POST['page']) ? mysql_real_escape_string($_POST['page']) : 0;
$offset = $offset * $limit;
$where = ' WHERE (';
$cnt = count($field_array);
$i = 0;
foreach($field_array as $value) {
$where .= " {$value} LIKE '%{$search}%'";
if($i < $cnt) $where .= ' OR ';
$i++;
}
$where .= ')';
$query = "SELECT * FROM `wp_property` {$where} LIMIT {$offset}, {$limit}";
$result = mysql_query($query);
while($row = mysql_fetch_assoc($result)) {
echo "<pre>";
print_r($row);
echo "<pre>";
}
}
現在,通過改變$_POST['page']
值為1
, 2
, 3
...您可以通過數據分頁...讓分頁的您的HTML部分,但是你想(鏈接,按鈕等)。
我建議不要使用mysql_*
函數,至少要使用mysqli
或PDO
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.