我似乎无法在任何地方找到这个......如果它很简单,我道歉。
我正在尝试在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>
答案 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。