0

画像ギャラリーのページごとに投稿する機能を作成しました。うまく機能していますが、少し機能を追加したかったのですが、エレガントな解決策がわかりません。

ユーザーが特定の数字、たとえば 200 を選択すると、選択した数字が後続のページに自動的に表示されるように選択ボックスが必要でした。したがって、ユーザーは変更が発生するのを見ることができます。

私はPHPが初めてなので、明らかなトリックが欠けているかもしれません。if else次のように、オプションごとに大規模なステートメントを実行できることを知っています。

<?php if($posts == 25) { ?>

    <option value="">Pics Per Page</option>
    <option value="25" selected>25 Pics</option>
    <option value="50">50 Pics</option>
    <option value="100">100 Pics</option>
    <option value="200">200 Pics</option>

<?php } else if($posts == 50 ) { ?>

    <option value="">Pics Per Page</option>
    <option value="25">25 Pics</option>
    <option value="50" selected>50 Pics</option>
    <option value="100">100 Pics</option>
    <option value="200">200 Pics</option>

<?php } else if... etc. etc.

しかし、これは少し長くなりました。もっとエレガントな解決策があると思いますか?

4

1 に答える 1

0

試してみてください:

$options = array(25, 50, 100, 200);

echo '<option value="" disabled="disabled">Pics Per Page</option>';
foreach ( $options as $option ) {
  $selected = $posts == $option ? 'selected="selected"' : '';
  echo '<option value="' . $option . '" ' . $selected . '>' . $option . ' Pics</option>';
}
于 2013-08-21T10:08:38.280 に答える