0

こんにちは私は選択ドロップダウンメニューでページごとに行を並べ替えるためのphpベースのフォーム送信方法を設定しました、それはうまくいきます私は選択された値に従って行を並べ替えることができます、しかし私の問題はそれを並べ替えるためにが選択されたときです現在選択されているものとして、フォームで選択されたフィールドに表示されません。

つまり、行を並べ替えるためにドロップダウンメニューで値を選択すると、デフォルト値として選択ボックスに現在の値として表示され、何も選択されていない場合は、デフォルトの行の値が現在の値として表示さます。

ここの並べ替え方法を参照しください。デフォルトの行としてcurrent(10)が表示され、値が選択されると、データベースにクエリを実行した後、ページの現在のリロードとして表示されます。

これがフォームフィールドの私のhtmlコードです:

<form action="is-test.php" method="get">
<select name="rpp" onchange="this.form.submit()">
<option selected value="">show</option><!-- i want default & current selected value here -->
<option value="10">10</option>
<option value="20">20</option>
<option value="30">30</option>
</select>
</form>   

このソートのphpコードは次のとおりです

$rowsperpage = '';
if (isset($_GET['rpp'])&& is_numeric($_GET['rpp'])) {
$rowsperpage = (int) mysql_real_escape_string($_GET['rpp']);
}else{
$rowsperpage='5';
} 

これに対するmysqlクエリは次のとおりです。

$sql2 = "SELECT * FROM $tablename ORDER BY $orderby $sortby LIMIT $rowsperpage OFFSET $offset";

選択した値を現在の値として設定する方法を教えてください。ありがとう

4

2 に答える 2

0
<option selected value="<?php echo $rowsperpage; ?>"><?php echo $rowsperpage; ?></option>

これを行うためのおそらくより良い方法は、ループを使用することです。

for ($i = 10, $i <= 30; $i +=10) {
    $selected = ($i == $rowsperpage) ? ' selected="selected"' : '';
    echo sprintf('<option value="%d"%s>%d</option>', $i, $selected, $i);
}
于 2012-06-01T02:30:33.813 に答える
0

<option>タグでは、次のようにチェックを実行する必要があります。

<option value="10" <?php if ($rowsperpage == 10) echo 'selected="selected"' ?>>10</option>
<option value="20" <?php if ($rowsperpage == 20) echo 'selected="selected"' ?>>20</option>
<option value="30" <?php if ($rowsperpage == 30) echo 'selected="selected"' ?>>30</option>

したがって、を選択する20と、の現在の値として表示されます。<select>

<option value="10">10</option>
<option value="20" selected="selected">20</option>
<option value="30">30</option>

物事を簡単にするために、次のforようなループを使用してください。

for ($i = 10; $i <= 30; $i+= 10) {
  echo "<option value=\"$i\" ".($rowsperpage == $i ? 'selected="selected"' : '').">$i</option>";
}
于 2012-06-01T02:34:16.333 に答える