2016-07-30 62 views
1

我有一個HTML表單,人們選擇過濾mysql的結果,例如從PHP回聲_ POST HTML表單中選擇默認值

<select name="display"> 
<option value="9999" selected>Display all results</option> 
<option value="10">10 results only</option> 
<option value="20">20 results only</option> 
<option value="50">50 results only</option> 
<option value="100">100 results only</option> 
</select> 

但是,如果人們選擇讓說,每頁50個結果,表單提交後我想選擇50個結果只能作爲選擇這樣

<option value="50" selected>50 results only</option> 

的問題是如何做到這一點使用PHP POST或正如我在評論說,從形式

+0

你有太多的標籤在這裏的一件事。另外,答案很簡單。您將一個變量分配給POST/GET數組並將其放入您的查詢中。在你的其他問題http://stackoverflow.com/questions/38668132/building-a-mysqli-query-with-order-by-and-per-page-to-show只是做同樣的事情;但使用它作爲你的極限,*容易如餡餅。* –

+0

張貼您的完整形式。 –

+0

你標記爲mysql和mysqli和pdo所以你的問題不清楚。但是,您可以看到我在下面發佈的內容。這是我所能提供的最好的,給出你發佈的內容。 @Liberator –

回答

2

GET,分配VARI得到標能夠POST數組並將其設置在查詢中的LIMIT中。

// you can also use isset instead of empty here and GET instead of POST 
if(!empty($_POST['display'])) { 
    $limit = (int)$_POST['display']; // ensure the value is an integer 
} 

然後將$limit變量放在您的LIMIT查詢中。

即:(和基本的MySQL)

SELECT col1, col2, col3 FROM TABLE WHERE col_x = 'xxx' LIMIT $limit 

的問題,雖然是有點不清楚,所以沒有太多別的我可以添加到這一點。

旁註:LIMIT(帶SELECT)接受附加參數。即:LIMIT 0, 50

[LIMIT {[offset,] row_count | row_count OFFSET offset}] 

編輯:

「的形式提交後我想要的選項僅50個結果得到標記爲選擇」

爲了保持選定的值,可以使用在選擇的選項的條件語句並檢查它是否等於什麼:

旁註:如果你的整個代碼是相同的文件中,此功能才能。

<?php 

    if(!empty($_POST['display'])) { 
     $limit = $_POST['display']; 
     $selected = 'selected'; 
    } 

?> 

<form action="" method="post"> 
    <select name="display"> 
    <option value="9999" <?php if(isset($selected) && $limit==9999) {echo $selected; } ?>>Display all results</option> 
    <option value="10" <?php if(isset($selected) && $limit==10) {echo $selected; } ?>>10 results only</option> 
    <option value="20" <?php if(isset($selected) && $limit==20){echo $selected; } ?>>20 results only</option> 
    <option value="50" <?php if(isset($selected) && $limit==50){echo $selected; } ?>>50 results only</option> 
    <option value="100" <?php if(isset($selected) && $limit==100){echo $selected; } ?>>100 results only</option> 
    </select> 

<input type="submit" value="submit"> 

</form> 

您可以添加其餘的代碼。

+0

OP:*「表單提交後我希望選項50的結果只能被標記爲選中,如下所示:* - 已經很晚了,我很累,並且忽略了這一點。 –