这是我表单中的$ _POST数组.
Array ( [prescribedid] => Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 9 [4] => 13 )
Run Code Online (Sandbox Code Playgroud)
我想为数组中的任何项创建一个选择.我已经写了这个,它产生了正确的SELECT,但if()消除了尾随的OR使它变得笨重.
$query = "SELECT * ";
$query .= "FROM prescribed WHERE ";
for($i=0; $i<count($_POST["prescribedid"]); $i++) {
$query .= "prescribedid={$_POST['prescribedid'][$i]} ";
if($i < (count($_POST["prescribedid"])-1)) {
$query .= "OR ";
}
}
Run Code Online (Sandbox Code Playgroud)
它产生了这个:
SELECT * FROM prescribed WHERE prescribedid=1 OR prescribedid=2 OR prescribedid=3 OR prescribedid=9 OR prescribedid=13
Run Code Online (Sandbox Code Playgroud)
是否有另一种方法可以对SELECTS进行分组或编写FOR()以使其更清晰,即没有最后的IF().