我试图在这里实现的是我假设5个按钮(使用不同的选项,使用jquery一个接一个地显示,并使用ajax发送数据)。
<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上的任何一个按钮时,div 2被隐藏...显示div2,点击按钮的值使用jquery传递,sql查询使用ajax执行.. 现在执行查询的php包含
$_GET['valDiv1']
$_GET['valDiv2']
php检查val1的定义与否,反之亦然,获得div 2的val后...问题就在这里......
我有大约5个div现在我需要检查所有div存在的值或只有1或2 ..等....如何解决这个问题? 要检查这个,我必须实现许多if else 喜欢 :: 如果定义了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++;
}
}
}
}
}
答案 0 :(得分:0)
我确信有很多方法可以优化它。其中一个可能是存储所有选择而不是单独的变量,而是存储在数组中,例如:
$selected = array('val1' => null, 'val2' => null, ...);
$selected['val1'] = $_GET['valDiv1'];
$selected['val2'] = $_GET['valDiv2'];
...
检查时可以做到
if (array_search(null, $selected) === false) {
...
}