0

このスクリプトをページ分割して、あるページに 5 行、別のページに 5 行などを表示するにはどうすればよいですか。これについてチュートリアルなどを試しましたが、まだ取得できません。

以下は私のコードです:

<?php require "manybr.htm" ?>
<style>
<?php require "styles.css" ?>
</style>
<?php

$host="XXXXX"; // Host name 
$username="XXXX"; // Mysql username 
$password="XXXXX"; // Mysql password 
$db_name="XXXX"; // Database name 
$tbl_name="tylted"; // Table name 

// Connect to server and select database.
mysql_connect("$host", "$username", "$password")or die("cannot connect"); 
mysql_select_db("$db_name")or die("cannot select DB");

// select record from mysql 
$sql="SELECT * FROM $tbl_name order by id desc";
$result=mysql_query($sql);
?>
<table background='images/view.png' width='50%' align='center'>
<tr>
<th align='center'>Group</th><th align='center'>Submition By</th><th align='center'>Submition On</th><th align='center'>ScreenName</th><th     align='center'>Password</th><th align='center'>Does This Work?</th><th align='center'>Vote</th>
</tr>
<tr>
<th align='center'>
<hr color='lime' width='100%'/>
</th>
<th align='center'>
<hr color='lime' width='100%'/>
</th>
<th align='center'>
<hr color='lime' width='100%'/>
</th>
<th align='center'>
<hr color='lime' width='100%'/>
</th>
<th align='center'>
<hr color='lime' width='100%'/>
</th>
<th align='center'>
<hr color='gold' width='100%'/>
</th>
<th align='center'>
<hr color='gold' width='100%'/>
</th>
</tr>
<?php
while($rows=mysql_fetch_array($result)){
?>

<tr>
<td background='transparent' align='center'><b><a href="http://aol.cellufun.com/p/grp/grp.asp?v=??&grp=<? echo $rows['group']; ?>">{<? echo $rows    ['group']; ?>}</a> </b></td>
<td background='transparent' align='center'><b><a href="http://aol.cellufun.com/p/player.asp?v=&p=<? echo $rows['yname']; ?>"><? echo $rows['yname'];     ?><a> </b></td>
<td background='transparent' align='center'><b><? echo $rows['date']; ?></b></td>
<td background='transparent' align='center'><b><? echo $rows['username']; ?></b></td>
<td background='transparent' align='center'><b><? echo $rows['password']; ?></b></td>
<td background='transparent' align='center'><b><? echo $rows['works']; ?>% Yes <font color='transparent'>||||</font>&nbsp; <? echo $rows['dworks']; ?>%     No</b></td>
<td background='transpatent' align='center'><b><a href='works.php?id=<? echo $rows['id']; ?>'><img src='images/ThumbsUp.png' height='30'     width='30'></a>&nbsp;&nbsp;&nbsp;<a href='dworks.php?id=<? echo $rows['id']; ?>'><img src='images/ThumbsDown.png' height='30' width='30'></a>

</td> 
</tr>

<?php
// close while loop 
}
?>

<?php
// close connection; 
mysql_close();
?>
</table>

LIMIT 0 , 5クエリに追加したところ、5 件表示されました。2 ページへのリンクがある部分はどうすればいいですか?

私は知りませんかMySqliPDOまだ。私はすぐに学ぶので、そのコメントをしないでください。インライン コードをすぐに CSS に移行する予定ですが、まだです。最初にこれを機能させる必要があります。

<?php

$host="XXX"; // Host name 
$username="XXX"; // Mysql username 
$password="XXX"; // Mysql password 
$db_name="XXX"; // Database name 
$tbl_name="tylted"; // Table name 

// Connect to server and select database.
mysql_connect("$host", "$username", "$password")or die("cannot connect"); 
mysql_select_db("$db_name")or die("cannot select DB");


// select record from mysql 
 $offset=$_GET['p'];
 $sql="SELECT * FROM $tbl_name order by id desc LIMIT 4 OFFSET ".$offset;
 $result=mysql_query($sql);
?>
<table background='images/subbg.png' width='70%' align='center'>
<tr><th><?php require "links.php" ?></th></tr>
<tr>
<th align='center'>Group</th><th align='center'>Submition By</th><th    align='center'>Submition On</th><th align='center'>ScreenName</th><th   align='center'>Password</th><th align='center'>Does This Work?</th><th   align='center'>Vote</th>
</tr>
<tr>
<th align='center'>
<hr color='lime' width='100%'/>
</th>
<th align='center'>
<hr color='lime' width='100%'/>
</th>
<th align='center'>
<hr color='lime' width='100%'/>
</th>
<th align='center'>
<hr color='lime' width='100%'/>
</th>
<th align='center'>
<hr color='lime' width='100%'/>
</th>
<th align='center'>
<hr color='gold' width='100%'/>
</th>
<th align='center'>
<hr color='gold' width='100%'/>
</th>
</tr>
<?php
while($rows=mysql_fetch_array($result)){
?>

<tr>
<td background='transparent' align='center'><b><a     href="http://aol.cellufun.com/p/player.asp?v=&p=<? echo $rows['yname']; ?>"><? echo   $rows['yname']; ?><a> </b></td>
<td background='transparent' align='center'><b><? echo $rows['date']; ?></b></td>
<td background='transparent' align='center'><b><? echo $rows['username']; ?></b></td>
 <td background='transparent' align='center'><b><? echo $rows['password']; ?></b></td>
<td background='transparent' align='center'><b><? echo $rows['works']; ?>% Yes <font    color='transparent'>||||</font>&nbsp; <? echo $rows['dworks']; ?>% No</b></td>
<td background='transpatent' align='center'><b><a href='works.php?id=<? echo   $rows['id']; ?>'><img src='images/ThumbsUp.png' height='30' width='30'>  </a>&nbsp;&nbsp;&nbsp;<a href='dworks.php?id=<? echo $rows['id']; ?>'><img   src='images/ThumbsDown.png' height='30' width='30'></a>

</td>
</tr>

<?php
// close while loop 
    }
?>

</table>

^^^^ bozdoz の上記の更新

4

4 に答える 4

3

SQL クエリに追加LIMIT 5 OFFSET 1して、ページ 1 に 5 つの結果を表示します。次のページのオフセット値を増やします。

例 :

OFFSET 2次の 5 つの結果などを表示します...

次のページへのリンクを配置するには、オフセット値を変数として設定してみてください。

OFFSET $offset$offsetphpでインクリメントされます。

index.php

<?php
 if(isset($_GET['p'])){
   if(is_numeric($_GET['p']))
      $offset=$_GET['p'];
   else 
      $offset=1;
  }
 else 
  $offset=1;

 $sql="SELECT * FROM $tbl_name order by id desc LIMIT 5 OFFSET ".$offset;
 $result=mysql_query($sql);
?>

それではリンクへ

<a href='index.php?p=2'>2</a>

それはあなたがそれを行うことができる2ページなどを表示する必要があります

于 2012-12-28T04:57:34.927 に答える
2

$_GET変数を使用して制限を取得します。

URLを次のようにindex.php?p=5します。

PHP には、次のように $_GET 変数を含めることができます。

<?php

$startnum = 0; //set default
if(isset($_GET['p'])&&is_numeric($_GET['p'])){
  $startnum = $_GET['p'];
}
$sql="SELECT * FROM $tbl_name order by id desc LIMIT $startnum, 5";

?>

次と前のリンクは<a href="?p=<?php echo $startnum+5 ?>">Next</a>

完全な PHP はこちら:

<style>
<?php require "styles.css" ?>
</style>
<?php

$host="XXXXX"; // Host name 
$username="XXXX"; // Mysql username 
$password="XXXXX"; // Mysql password 
$db_name="XXXX"; // Database name 
$tbl_name="tylted"; // Table name 

// Connect to server and select database.
mysql_connect("$host", "$username", "$password")or die("cannot connect"); 
mysql_select_db("$db_name")or die("cannot select DB");

$startnum = 0; //set default
if(isset($_GET['p'])&&is_numeric($_GET['p'])){
  $startnum = $_GET['p']; //change offset
}

$sql="SELECT * FROM $tbl_name order by id desc LIMIT $startnum, 5";
$result=mysql_query($sql);
?>


See the <a href="?p=<?php echo $startnum+5; ?>">next page</a>
<table background='images/subbg.png' width='70%' align='center'>

<tr><th><?php require "links.php" ?></th></tr>
<tr>
<th align='center'>Group</th><th align='center'>Submition By</th><th    align='center'>Submition On</th><th align='center'>ScreenName</th><th   align='center'>Password</th><th align='center'>Does This Work?</th><th   align='center'>Vote</th>
</tr>
<tr>
<th align='center'>
<hr color='lime' width='100%'/>
</th>
<th align='center'>
<hr color='lime' width='100%'/>
</th>
<th align='center'>
<hr color='lime' width='100%'/>
</th>
<th align='center'>
<hr color='lime' width='100%'/>
</th>
<th align='center'>
<hr color='lime' width='100%'/>
</th>
<th align='center'>
<hr color='gold' width='100%'/>
</th>
<th align='center'>
<hr color='gold' width='100%'/>
</th>
</tr>
<?php
while($rows=mysql_fetch_array($result)){
?>

<tr>
<td background='transparent' align='center'><b><a     href="http://aol.cellufun.com/p/player.asp?v=&p=<? echo $rows['yname']; ?>"><? echo   $rows['yname']; ?><a> </b></td>
<td background='transparent' align='center'><b><? echo $rows['date']; ?></b></td>
<td background='transparent' align='center'><b><? echo $rows['username']; ?></b></td>
 <td background='transparent' align='center'><b><? echo $rows['password']; ?></b></td>
<td background='transparent' align='center'><b><? echo $rows['works']; ?>% Yes <font    color='transparent'>||||</font>&nbsp; <? echo $rows['dworks']; ?>% No</b></td>
<td background='transpatent' align='center'><b><a href='works.php?id=<? echo   $rows['id']; ?>'><img src='images/ThumbsUp.png' height='30' width='30'>  </a>&nbsp;&nbsp;&nbsp;<a href='dworks.php?id=<? echo $rows['id']; ?>'><img   src='images/ThumbsDown.png' height='30' width='30'></a>

</td>
</tr>

<?php
// close while loop 
    }
?>

</table>
于 2012-12-28T05:01:00.783 に答える
1

SQLQuerry に LIMIT を入れることができます

于 2012-12-28T04:51:32.113 に答える
1

他の人がすでに言ったようにLIMIT offset, row_count、MySQL で句を使用して、一度に数行だけを抽出できます (または代わりにLIMIT row_count OFFSET offset)

そのオフセットを取得するには、URL から名前pageを付けて値を取得し、その変数を次のページと前のページへのリンクに配置します。

たとえば、ページに 5 つのアイテムが表示されているとします。最初のページで、5 行とすべてのアイテムの数をフェッチします。さらに項目がある場合は、へのリンクを追加しresults.php?page=2ます。その変数から、オフセットがどうなるかがわかります。ページ 1 のオフセットは (暗黙的に) ゼロで、ページ 2 は 5、ページ 3 は 10 であるため、簡単な式を抽出できます。offset = ($_GET["page"]-1) * items_per_page

空の結果セットや変数が存在するかどうかなど、カバーする詳細がいくつかありpageますが、それはあなたに任せます。

参照:

MySQL :: MySQL 5.6 リファレンスマニュアル :: 13.2.9 SELECT 構文

于 2012-12-28T05:13:18.717 に答える