1

私はこれをどこにも見つけられないようです..それが非常に単純である場合は申し訳ありません.

多数のゲストブック エントリを表示する単純なドロップダウン ボックスを HTML で作成しようとしています。データベースリクエストなどを処理するためにphpを使用しています。これで問題ありません。選択したエントリの数に応じて、選択ボックスのデフォルト オプションを変更できるようにしたいだけです。

これを行う簡単な方法はありますか?単純な JavaScript 呼び出しに関係しているように感じますが、私はまだこれらすべてに慣れていません。

これはhtmlです:

<form id="displayform" action="guestbook.php" method="POST" >
Currently Displaying  <select name="display" id="display" onchange="document.getElementById('displayform').submit()">
<option value="10" > 10 </option>
<option value="25" > 25 </option>
<option value="50"> 50 </option>
<option value="ALL"> ALL </option>      
</select>   results per page
</form>
4

2 に答える 2

2

JavaScript は不要で、PHP で処理できます。リファクタリングも可能!

<?php
  $options = array(10, 25, 50, 'ALL');
  $selOpt = in_array($_POST['display'], $options) ? $_POST['display'] : $options[0];
?>
<form id="displayform" action="guestbook.php" method="POST">
  Currently Displaying
  <select name="display" id="display" onchange="document.getElementById('displayform').submit();">
    <?php foreach ($options as $option){ ?>
    <option value="<?=$option;?>"<?=($selOpt==$option?' select="selected"':'');?>>
      <?=$option;?>
    </option>
    <?php } ?>
  </select>
</form>
于 2012-04-25T14:33:38.573 に答える
1

LIMITSQLステートメントで句を使用して、クエリによって返されるアイテムの数を制限する必要があります。

<?php
    $limit = (int) $_POST['display'];
    $sql = 'SELECT * FROM guestbook ORDER BY date_enterred LIMIT ' . $limit;
?>

これはページ付けの一部です。クイックGoogle検索で見つけることができるPHPでこれを行う方法についての良いチュートリアルがたくさんあります。

于 2012-04-25T14:32:05.247 に答える