1

こんにちは、mysql クエリのページネーションを作成しようとしていますが、実際にはまったく機能していません。誰かが私の間違いを教えてもらえますか? これまでの私のコードは次のとおりです。

<?php     

$con=mysqli_connect("localhost","database","password","table");
// Check connection
if (mysqli_connect_errno())
{
    die("Failed to connect to MySQL: " . mysqli_connect_error());
}

if (!$result = mysqli_query($con,"SELECT * FROM table_name"))
{
    die("Error: " . mysqli_error($con));
}
$per_page =5;//define how many games for a page
$count = mysqli_num_rows($result);
$pages = ceil($count/$per_page);

   if(!isset($_GET['page']) || 
   $_GET['page']=="") {
      $page="1";
} else {
  $page=$_GET['page'];
}    $start    = ($page - 1) * $per_page;
    $result = mysqli_query($con,"SELECT * FROM cursos LIMIT $start,$per_page");

これは、私のSQLクエリからの結果をリストしている私の部分です

?>

// show results from my sql query 

<?php

while($row = mysqli_fetch_array($result))
{   $id = $row['id'];
?>


// code for next page 

そして最後に、これはページの下部にあるページネーション リンクです。

//Show page links
for ($i = 1; $i <= $pages; $i++)
{?>
  <li id="<?php echo $i;?>"><a href="cursos.php?c=<?php echo $c;?>&page=<?php echo $i;?>"><?php echo $i;?></a></li>
<?php  } ?>

Deepakによる提案の後、私は今だけ得ています

//Show page偽のリンクを生成する 最終コードの エラー注意:未定義の変数:Dのc:\ xampp\htdocs\cedecap\admin\cursos.phpの191行目
&page = 1"> 1

コード //Show page links は何も表示していません。ページは現在、機能しているページの 5 です

4

5 に答える 5

3

次の行を変更します

$result = $result." LIMIT $start,$per_page";

$result = mysqli_query($con,"SELECT * FROM table_name LIMIT $start,$per_page");

編集

その行では、結果を同じ関数に再度$query_count=mysqli_query($con, $result);渡しています。mysql_query()その行をスキップして、次の操作を実行できます。

//$query_count=mysqli_query($con, $result); this line is deleted

$per_page =5;//define how many games for a page
$count = mysqli_num_rows($result);
$pages = ceil($count/$per_page);

indexまた、エラーを取り除くために次の変更を行います。

if(!isset($_GET['page']) || $_GET['page']=="") {
  $page="1";
} else {
  $page=$_GET['page'];
}

未定義変数$cエラーの場合、変数を設定した後に次のコードを追加し$pageます。

if(!isset($_GET['c']) || $_GET['c']=="") {
  $c="some value";
} else {
  $c=$_GET['c'];
}
于 2013-10-03T01:36:05.220 に答える
0

ベース SQL ステートメントではなく、結果オブジェクトに「 LIMIT $start, $per_page」を追加しているようです。クエリを先頭の変数に割り当ててから、次のようにその変数に追加してみてください。

$sql = "SELECT * FROM table_name";
if (!$result = mysqli_query($con,$sql))
{
    die("Error: " . mysqli_error($con));
}

$query_count=mysqli_query($con,$result);

$per_page =5;//define how many games for a page
$count = mysqli_num_rows($query_count);
$pages = ceil($count/$per_page);

if($_GET['page']==""){
    $page="1";
}else{
    $page=$_GET['page'];
}
$start    = ($page - 1) * $per_page;
$result     = mysqli_query($con,$sql." LIMIT $start,$per_page");
于 2013-10-03T01:44:34.827 に答える