いくつかのフィルターに基づいて、レコードの数を表示するグリッドに取り組んでいます。ユーザーがグリッドの下部にある[もっと見る]リンクをクリックしたときに、それらをページ分割したいのですが、検索しようとしましたが、どちらもページ番号が見つかりました何かまたはある種の自動スクロールしかし、どうすれば私のシナリオで作業できるようになりますか?これまでの私の研究は、リンクをクリックして関数を記述し、 ajaxを使用して次のレコードのバッチ(たとえば、リクエストごとに20)をフェッチする必要がありますが、プログラミング部分はどのように機能しますか?サーバーでPHPを使用しています終わりと私のDBとしてのMysql誰かがそれについて私を導くことができますか。お時間をいただきありがとうございます。
質問する
661 次
4 に答える
1
if(isset($_GET['page']))
{
$page=$_GET['page'];
}
else
{
$page=1;
}
if(isset($_GET['dark']))
{
$max_result=$_GET['dark'];
}
else
{
$max_result=5;
}
$from=(($page*$max_result)-$max_result);
mysql_select_db("db",$con);
$sql = "SELECT COUNT(*) FROM `db`.`table` ";
$result=mysql_query($sql);
$total_result=mysql_result($result,0);
$total_pages=ceil($total_result/$max_result);
if($total_result>$max_result)
{
if($page>1)
{
$prev=$page-1;
echo "<a href=\"".$_SERVER['PHP_SELF']."?dark=".$max_result."&page=$prev\">previous</a>";
}
for($i=1;$i<=$total_pages;$i++)
{
if($page==$i)
{
echo "<strong>".$i."</strong>";
}
else
{
echo "<a href=\"".$_SERVER['PHP_SELF']."?dark=".$max_result."&page=$i\">$i</a> ";
}
if($page<$total_pages)
{
$next=$page+1;
//echo "<a href=\"".$_SERVER['PHP_SELF']."?page=$next\"></a>";
}
}
if($page<$total_pages)
{
$next=$page+1;
echo "<a href=\"".$_SERVER['PHP_SELF']."?dark=".$max_result."&page=$next\">next</a>";
}
}
echo "<table><tr>";
echo "<td><form action='helloworld.php' name='get'>
<select name='dark'>
<option value='2'>2</option>
<option value='5'>5</option>
<option value='10'>10</option>
</select>
<input type='hidden' name='searching' value='yes' /><input type='submit' value='No.of entries'>
</form></td></tr>";
echo "<tr><td><strong>PAGE NUMBER $page of $total_pages.</strong>.</td></tr>";
echo"</table>";
于 2012-10-22T12:36:20.260 に答える
1
LIMIT
SQLクエリで試すことができます。
LIMIT
offset
URL にandを渡し、それに応じてデータを処理/表示し、現在のページを Web ページlimit
に送り返します (これにより、show more リンクの URL を作成できます)。offset
limit
これは、ほとんどの場所とフレームワークで実装されている方法だと思います
サンディープ
于 2012-10-22T10:25:46.250 に答える
1
クエリの使用中
SELECT list_of_column FROM table
ORDER BY column_id DESC
LIMIT 20 OFFSET 0
クリックごとにオフセット値を変更するだけで、目的の結果が得られます
PHPのページネーション、参照、
于 2012-10-22T10:27:41.220 に答える
1
MysqlQuery では、LIMIT begin, max 関数を使用できます: SELECT * FROM db LIMIT 100, 10 は、オフセット 10 から始まる 10 個のデータセットを選択します。
$_GET または $_POST 変数を javascript 経由で php スクリプトに渡す必要があります。
$.ajax({
[...],
url: "script.php",
data: {
page: <page to load>
},
[...]
})
php スクリプトで、クエリを変更します。
$query = "SELECT * FROM database LIMIT " . $_GET['page'] . ", " . $entrys_per_page;
于 2012-10-22T10:27:47.867 に答える