COUNT() 함수 관련 문의
본문
주문서를 엑셀로 출력하는 기능을 사용하고 있습니다.
선택한 주문건에 대해 엑셀로 출력을 하려고 하는데요.
PHP Warning: count(): Parameter must be an array or an object that implements Countable in
이런 오류를 내고 있어서 확인해보니 카운트로는 어레이 이거나 셀 수 있는 변수여야 한다는데
특별한 문제가 없어 보이는데도 오류가 나더라구요.
for ($i=0; $i<count($_POST['chk']); $i++)
{
// 실제 번호를 넘김
$k = $_POST['chk'][$i];
이런 코드가 있는데
if($_POST['chk'] && count($_POST['chk']) > 0) {
$cnt = count($_POST['chk']);
} else {
$cnt = 0;
}
for ($i=0; $i<$cnt; $i++)
{
// 실제 번호를 넘김
$k = $_POST['chk'][$i];
이렇게 했더니 주문서가 하나씩만 다운이 되고 있습니다.
혹시 좋은 처리 방법이 있을까요?
!-->!-->
답변 2
일단 처리 페이지에서 chk 값이 제대로 넘어오는지
print_r($_POST); 해보세요
chk값이 배열로 넘어오는지 체크해보세요.
조건문에 is_array 를 이용해 보세요.
문제가 두가지네요
첫번째는 항상 주문서가 하나만 다운로드 된다.
두번째는 $_POST
[
'chk']
이 null 이어서 에러가 나는경우
보통 이런경우는 첫번째만 해결하면 두번째는 자동으로 해결될겁니다.
고로 count 함수에러는 신경쓰지 마시고 주문서가 두개 이상 다운로드 되게 해보세요
답변을 작성하시기 전에 로그인 해주세요.