チェックボックスを使用して SQL クエリを変更しています。
HTML:
<input type="checkbox" name="chapter" value="7" /><label>ch. 7</label><br />
<input type="checkbox" name="chapter" value="13" /><label>ch. 13</label>
PHP:
//adjust query for chapter
$chap = $_POST['chapter'];
$chapter = "";
if(!empty($chap)){
$N = count($chap);
if($N == 1){
$chapter .= " AND chapter = '".$chap[0]."'";
}else{
$chapter .= " AND (chapter = '".$chap[0]."' OR chapter = '".$chap[1]."')";
}
}
$zquery = "SELECT * FROM records WHERE ".$zipcodes.$chapter;
チェックボックスをオフのままにすると、正常に機能します。チャプター 7 ボックスがチェックされている場合、正常に動作します。問題はその 13 ボックスにあります。それを確認すると、の代わりに の$chap[]
値のみが返されます。たとえば、私が得たとき。"1"
"13"
var_dump
$zquery
string(3384) "SELECT * FROM records WHERE (party_zip='34683' OR party_zip='34682' ) AND chapter = '1'"
また、両方のチェックボックスをオンにしても、$N
常に が返されます。配列ではありませんか1
?$_POST['chapter']
文字列の最初の文字だけを返すのはなぜですか?
ナマステ