为投递箱选项创建不同的默认值

时间:2012-04-25 14:27:20

标签: php javascript html

我似乎无法在任何地方找到这个......如果它很简单,我道歉。

我正在尝试在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>

2 个答案:

答案 0 :(得分: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>

答案 1 :(得分:1)

您需要在SQL语句中使用LIMIT子句来限制查询返回的项目数。

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

这是分页的一部分。有很多很好的教程可以通过快速谷歌搜索找到如何使用PHP。