我試圖在這裏實現的是我假設有5個按鈕(不同的選項,它們使用jQuery和數據使用ajax發送一個接一個地顯示)。Php邏輯是否使用if if else條件或多態
<div id="div1">
<button value="1" class="div1button">1</button>
<button value="2" class="div1button">2</button>
<button value="3" class="div1button">3</button>
<button value="4" class="div1button">4</button>
</div>
<div id="div2">
<button value="a" class="div2button">a</button>
<button value="b" class="div2button">b</button>
<button value="c" class="div2button">c</button>
<button value="d" class="div2button">d</button>
</div>
現在,當用戶點擊該按鈕上DIV1 ... DIV2任何一個被顯示出來,點擊使用jQuery和SQL查詢傳遞使用AJAX執行按鍵值的2區是隱藏的.. 現在其執行查詢的PHP包含
$_GET['valDiv1']
$_GET['valDiv2']
其中VAL1定義的PHP檢查或不和2區的VAL後反之亦然獲得...問題是這裏....
我有5個div現在我需要檢查值的所有div的存在或只有1或2 ..等....如何解決這個問題? 若要檢查此我必須實現許多如果其他 LIKE :: 如果div1被定義...如果div1和div2被定義...做到這一點 ...做到這一點如果div1和div2和div3被定義... ...做點什麼 如果div2和div3和div5被定義爲
所以這就是我卡住的地方。
我是初學者請幫忙,有沒有更好的方法來實現我想要的?
解決
由於@Igor
$selected = array('val1' => null, 'val2' => null, ...);
$selected['val1'] = $_GET['valDiv1'];
$selected['val2'] = $_GET['valDiv2'];
foreach($elements as $val => $key) {
if($val == 'val1' && $key == 'any') {
$sql = "SELECT * FROM details";
} else {
if($key != null) {
if($key != 'any') {
if($i>0) {
$sql .= " AND $val='$key'";
} else {
$sql = "SELECT * FROM details WHERE $val='$key'";
$i++;
}
}
}
}
}
如果你解釋你需要什麼這將有助於做而不是div1 div2 button1 button2。如果效果差異很小,則可以簡化所有內容,但如果每個按鈕都有一個非常具體的結果,那麼您將不得不使用一個案例或大量嵌套的if語句。 – Chris
這裏不太清楚你的意思是多態。這是一個簡單的前提條件,在第2部分可被接受之前必須填寫第1部分的有效值之一?如果是這樣,你可能必須做每個步驟的查詢,如'SELECT ID FROM valid_values WHERE name IN(...)',其中最後一部分是值的列表。 – tadman
@Chris ok謝謝,如果我使用很多嵌套,如果我的意思是15-20左右,會有問題嗎? –