-3

データベースmysqlのテーブルの例、

id alphabet
1  A
2  B
3  C
4  D

私のプロジェクトでは、データベースから 26 個の配列を取得する必要があります。出力を制限なしで 1 に制限する方法はありますか?たとえば、A を表示したい場合、ボタンを押すと、要件を満たしていれば B が表示されますか?

4

4 に答える 4

2

PHP はサーバー上で実行されるため、ユーザーのクリックに直接応答することはできません。ユーザーがページへのリンクをクリックするたびに、スクリプトが新たに開始されます。

スクリプトを初めて実行するときに、クエリを実行し、すべての結果をセッション変数 (array_data以下の例で呼び出されます) に保存できます。次に、表示する行番号を指定するパラメーターを使用して、ボタンをスクリプトにリンクすることができます。何かのようなもの:

if(!isset($_SESSION['array_data'])) {
  $_SESSION['array_data'] = array();
  <execute query>
  while ($row = <fetch row>) $_SESSION['array_data'][] = $row;
}
$cur_row = isset($_REQUEST['rowid']) ? $_REQUEST['rowid'] : 0;
printf("Data is: %s<BR/>", htmlentities($_SESSION['array_data'][$cur_row]));
printf("<A HREF='scriptname.php?rowid=%d'>Next row</A>", $cur_row+1);
于 2012-07-20T04:47:19.847 に答える
0

私はあなたの質問でここで暗闇の中で撮影しています。LIMITとOFFSETを使用すると、単一の行を取得するのに役立ちます。

SELECT id, alphabet FROM table LIMIT 1 OFFSET 0

LIMIT1は常に1つのレコードを提供します。OFFSETは、スキップする行数を示します。

制限とオフセット

于 2012-07-20T03:59:29.143 に答える
0

LIMITSQL で使用して、取得する結果の数を制限できます。

于 2012-07-20T03:42:41.513 に答える