yuh様
ありがとうございます。
この様に記述しエラーは回避されました。
case 'search_product_status':
$tmp_where = 'AND EXISTS (SELECT * FROM dtb_order_detail od WHERE od.order_id = dtb_order .order_id AND od.product_id EXISTS (SELECT * FROM dtb_product_status dps WHERE dps.product_id = od.product_id AND product_satatus_id = ?))';
if(is_array($objFormParam->getValue($key))){
$tmp_where = 'AND EXISTS (SELECT * FROM dtb_order_detail od WHERE od.order_id = dtb_order .order_id AND od.product_id exists (SELECT * FROM dtb_product_status dps WHERE dps.product_id = od.product_id AND product_satatus_id IN ('.implode(",",array_fill(0, count($objFormParam->getValue($key)), '?')).')))';
$arrValues = array_merge($arrValues,$objFormParam->getValue($key));
}
break;
しかし、今度は結果を抽出してくれません。
LC_Page_Admin_Order.phpに
$objFormParam->addParam('商品ステータス', 'search_product_status', INT_LEN, 'n', array('MAX_LENGTH_CHECK'));
と
case 'search_product_status':
$tmp_where = 'AND EXISTS (SELECT * FROM dtb_order_detail od WHERE od.order_id = dtb_order .order_id AND od.product_id EXISTS (SELECT * FROM dtb_product_status dps WHERE dps.product_id = od.product_id AND product_satatus_id = ?))';
if(is_array($objFormParam->getValue($key))){
$tmp_where = 'AND EXISTS (SELECT * FROM dtb_order_detail od WHERE od.order_id = dtb_order .order_id AND od.product_id exists (SELECT * FROM dtb_product_status dps WHERE dps.product_id = od.product_id AND product_satatus_id IN ('.implode(",",array_fill(0, count($objFormParam->getValue($key)), '?')).')))';
$arrValues = array_merge($arrValues,$objFormParam->getValue($key));
}
break;
を記述、
index.tplに
<tr>
<th>商品ステータス</th>
<td colspan="3">
<!--{assign var=key value="search_product_status"}-->
<span class="attention"><!--{$arrErr[$key]|h}--></span>
<!--{html_checkboxes name="$key" options=$arrProduct_Status selected=$arrForm[$key].value}-->
</td>
</tr>
を記述してあります。
間違っている所が理解りません。
ご指摘、お願い致します。