我正在开设一个关于Web技术课程的项目。我想用AJAX请求从数据库中检索一些数据,然后对它们进行分页。 已使用此脚本过滤数据:
function applyFilter( str, id)
{
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
document.getElementById("ajax_content").innerHTML=xmlhttp.responseText;
}
}
xmlhttp.open("GET","filter_script.php?value='"+str+"'&filter="+id,true);
xmlhttp.send();
}
这是filter_script.php:
<?php
$value = $_GET['value'];
$filter = $_GET['filter'];
//Ζητούμε από τον server το global_var αρχείο
require_once("global_var.php");
//Συνδεόμαστε στη Βάση δεδομένων
$dbc = mysqli_connect(HOST, USER, PASS, DB_NAME)
or die("Error in connecting with Databse");
//Δημιουργούμε το κατάλληλο query. Εδώ χρειαζόμαστε
//να πάρουμε τη λίστα με τις παραγγελίες από τη Βάση
$query = "select date, service, price, product from orders WHERE $filter = $value ORDER BY date DESC";
//Αποθηκεύουμε τα αποτελέσματα από τη Βάση
$result = mysqli_query($dbc, $query)
or die("Error in querying the Databse");
//Δημιουργούμε το header του πίνακα με τις παραγγελίες
echo '<table id="orders">';
echo '<tr class="header">';
echo '<td>Date</td>';
echo '<td>Service</td>';
echo '<td>Price</td>';
echo '<td>Product</td>';
echo '</tr>';
//Εμφανίζουμε τις παραγγελίες σε μορφή πίνακα.
while ($row = mysqli_fetch_array($result)) {
echo "<tr>";
echo '<td class="date">'.$row['date'].'</td>';
echo '<td class="service">'.$row['service'].'</td>';
echo '<td class="price">'.$row['price'].'</td>';
echo '<td class="product">'.$row['product'].'</td>';
echo "</tr>";
}
echo '</table>';
//ΚΛείνουμε τη σύνδεση με τη βάση δεδομένων
mysqli_close($dbc);
?>
评论是希腊语,所以请忽略它们。
因此,每当AJAX从数据库中检索新数据时,我想要一种对这些数据进行分页的方法。 请帮忙,因为我找不到办法。
提前致谢。
答案 0 :(得分:1)
看看: Server side paging in SQL Server
在您的AJAX请求中包含另一个参数(例如 start ),并在BETWEEN cnodition中使用该参数。
xmlhttp.open("GET","filter_script.php?value='"+str+"'&filter="+id+"&start="+start,true);
在现实世界中,您将使用一些框架,例如jQuery或Prototype。这使得AJAX的使用更简单。还要考虑使用JSON响应,这样您就不必为将来的任何UI级别更改而不断更改PHP。在大多数情况下,任何服务器端脚本都应仅包含主应用程序逻辑。不要在那里混淆HTML。我不太喜欢PHP,但这里有一些你可能感兴趣的内容:http://www.php.net/manual/en/function.json-encode.php
祝你好运。