2

こんにちは、ページ上にユーザーデータを表示しようとしています

これが私のコードです:

//Run a query to select all the data from the users table
$perpage = 2;
$result = mysql_query("SELECT * FROM users LIMIT $perpage");

これはページごとに2つだけ表示されますが、データにリンクする下部のページ番号をどのように取得するのか疑問に思っていました

ここに私の更新されたコードがあります

 $result = mysql_query("SELECT * FROM users");  // Let's get the query    
 $nrResults=mysql_num_rows($result); // Count the results    
if (($nrResults%$limit)<>0) {       
 $pmax=floor($nrResults/$limit)+1;  // Divide to total result by the number of query 
// to display per page($limit) and create a Max page    
 } else {     
$pmax=floor($nrResults/$limit); 
}     
$result = mysql_query("SELECT * FROM users LIMIT 2 ".(($_GET["page"]-1)*$limit).", $limit");  
// generate query considering limit    
while($line = mysql_fetch_array( $result )) 
{   
?> 

エラー

解析エラー: 構文エラー、98 行目の E:\xampp\htdocs\Admin.php の予期しない $end

4

2 に答える 2

4

これを行うには、SQL ステートメントでオフセット値も使用する必要があるため、次のようになります。

SELECT * FROM users LIMIT $offset, $perpage

例:

SELECT * FROM tbl LIMIT 5,10;  # Retrieve rows 6-15

次に、合計データ数を取得したいページの下部に配置するリンクを取得するには、合計をページごとの値で割り、ページ数を計算します。

次に、ユーザーがクリックしたページに基づいてオフセット値を設定します。

それが役立つことを願っています!

アップデート:

予期しない終了は、コードに追加の閉じ括弧 } があり、ページが終了し、その後にさらにコードがあることを意味している可能性があります。コードを調べて、ブラケットを一致させて修正してください。貼り付けたコード サンプルには、他にもいくつかの問題があります。

$result = mysql_query("SELECT * FROM users" ); //Note if you have a very large table you probably want to get the count instead of selecting all of the data... 
$nrResults = mysql_num_rows( $result ); 
if( $_GET['page'] ) {
  $page = $_GET['page']
} else {
  $page = 1;
}
$per_page = 2;
$offset = ($page - 1) * $per_page; //So that page 1 starts at 0, page 2 starts at 2 etc.
$result = mysql_query("SELECT * FROM users LIMIT $offset,$per_page");
while( $line = mysql_fetch_array( $result ) ) 
{
//Do whatever you want with each row in here
}

それが役立つことを願っています

nrResults の数値を使用して、作成するページ数を計算できます... 10 件のレコードがあり、1 ページあたり 2 件を表示している場合、5 ページになるため、それぞれのページに 5 つのリンクを印刷できます。 URL に正しいページ番号を指定して...

于 2012-04-25T14:07:28.063 に答える
1

リクエストを使用してください!http://php.net/manual/en/reserved.variables.request.php

if (((isset($_GET['page'])) AND (is_int($_GET['page']))) {
$perpage = $_GET['page'];
}
$result = mysql_query("SELECT * FROM users LIMIT $perpage");

...

リンクhttp://yourwebsite.com/userlistforexample.php ? page=3
または
http://yourwebsite.com/userlistforexample.php?somethingishere=21& page=3

于 2012-04-25T14:07:11.137 に答える