簡體   English   中英

對一個輸出表使用多個排序下拉列表的最佳方法?

[英]Best way to use multiple sorting drop-downs with one output table?

我正在使用PHP輸出MySQL查詢的結果。 我將查詢設置為顯示所有行,以基於1的值進行限制,或以超過1的值進行限制。

但是,我想知道如何使PHP更好地控制值的選擇以限制查詢。

輸出表的TH標簽將具有下拉列表,這些下拉列表將重新加載頁面並使用$ _GET傳遞查詢值。

到目前為止,我已經做出了一個下拉選擇:

<select onchange="location = this.options[this.selectedIndex].value;">
<option value="nikki.php" <?php if (!isset($status)) { echo "selected"; } ?>>狀況選択</option>
<option value="nikki.php?status=finished" <?php if ($status == "finished") { echo "selected"; } ?>>完了</option>
<option value="nikki.php?status=waitingforcallback" <?php if ($status == "waitingforcallback") { echo "selected"; } ?>>電話待ち</option>
<option value="nikki.php?status=unfinished" <?php if ($status == "unfinished") { echo "selected"; } ?>>末完了</option>
</select>​

如您所見,選擇將調用帶有狀態標簽的頁面,以將數據傳遞給查詢。

但是,如果我想進行其他(或更多)下拉菜單選擇怎么辦?

<select onchange="location = this.options[this.selectedIndex].value;">
<option value="<?php echo $_SERVER['PHP_SELF'] . '&type=AAA'?>">A</option>
<option value="<?php echo $_SERVER['PHP_SELF'] . '&type=BBB'?>">B</option>
<option value="<?php echo $_SERVER['PHP_SELF'] . '&type=CCC'?>">C</option>
</select>​

我知道我可以做一些事情,例如檢查URL,然后根據當前URL狀態添加"?status=XXX""&status=XXX" ,但這會涉及很多if,並且似乎不是最好的方法做我想完成的事情。

我希望我的問題很清楚。

為什么不只使用遍歷類型數組的循環?

<?php $types = ['AAA', 'BBB', 'CCC']; 
      foreach ($types as $type) { 
        $linkValue = $_SERVER['PHP_SELF'] . '&type='. $type; ?>
        <option value="<?= $linkValue ?>"><?= $type ?></option>
   <? } ?>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM