post로 내용을 submit 할때 관련 내용 입니다. 채택완료
영카트5의 adm\shop_admin\orderlist.php
을 수정 하여 한번에 2000개 이상의 숫자를 한꺼번에 post 방식으로
orderlistupdate.php 로 넘어 가도록 수정 하여 사용 하고 있습니다.
자료가 2000건이 되기 전에는 몰랐으면
2000건 이상의 자료가 post 로 넘어가게 되면서 갑자기
400 bad request 에러가 발생하여
이리 저리 찾아 보다 phpinfo로 확인을 해봤더니
"Max Requests Per Child: 2000 - Keep Alive: on - Max Per Connection: 100"
이렇게 되있더군요
지레짐작으로 차일드가 1800건 정도되 되겠금 해서 다시 submit 해 보니 제대로 넘어가네요
그래서 질문을 드립니다.
필요한 량은 예상대로라면 Per Child 20000 정도로 하고 싶은데
이것은 호스팅 업체(*afe2*) 에서 서버에 문제가 없는지 물어 봐야 하는 것이 맞겠지요?
(이쪽에는 관련 지식이 없네요...)
혹시 왠만한 호스팅 에서는 어느 정도로 설정하는 것이 적당선인지 질문 드립니다.
그리고 또한 그 2000건 이 넘도록 넘어가는 post 데이터 에서
사실 체크되어 실제로 사용되는 부분은
한번에 넘어갈때 10건 정도 밖에는 안되고 나머지는 그저 버려지고 있는데요
그래서 사실 2000까지도 필요가 없는데
사용 되지 않는 부분 때문에 더 많은 max가 필요한데요
(실제 orderlists.php 에 소스를 보시면 아시겠지만
</p><p>for ($i=0; $i<count($_POST['chk']); $i++)</p><p>{</p><p> // 실제 번호를 넘김</p><p> $k = $_POST['chk'][$i];</p><p> $od_id = $_POST['od_id'][$k];</p><div>
답변 2개
배열로 체크한 것만 넘겨서 처리하면 됩니다.
http://sir.kr/g5_tip/3835">http://sir.kr/g5_tip/3835
</p><p><form method="post"></p><p><input type="hidden" name="ok" value="ok"></p><p><input type="checkbox" name="aa[]" value="1"> 1
</p><p><input type="checkbox" name="aa[]" value="2"> 2
</p><p><input type="checkbox" name="aa[]" value="3"> 3
</p><p><input type="checkbox" name="aa[]" value="4"> 4
</p><p><input type="checkbox" name="aa[]" value="5"> 5
</p><p><input type="checkbox" name="aa[]" value="6"> 6
</p><p><input type="checkbox" name="aa[]" value="7"> 7
</p><p><input type="checkbox" name="aa[]" value="8"> 8
</p><p><input type="checkbox" name="aa[]" value="9"> 9
</p><p><button>222</button></p><p></form></p><p><?php</p><p>print_r($_POST[aa]);</p><p>?></p><p>
답변에 대한 댓글 1개
댓글을 작성하려면 로그인이 필요합니다.
1. chk의 값을 유의미한 값으로 주고 orderlistupdate.php 에서 디비를 통해 od_id를 가져오게 처리
=> chk로 넘어온 값으로 od_id를 가져오는 방식
2. od_id는 히든으로 처리하지 마시고 POST로 넘길 때 jquery 등으로 생성해주는게 좋을 듯 합니다.
서브밋 할 때 chk로 체크된것만 생성해서 전달하는 방식이지요.
od_id가 필요하다면 자바스크립트 배열로 저장시켜두고 빼쓰면 되겠네요.
어떠한 구조에 어떠한 쓰임새인지는 모르겠습니다만, 1번을 추천드리겠습니다...
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인
아마도 해당 페이지에서
이미 그렇게 되어 있어요 ㅠㅠ
중요한건 그 부분은 체크가 되었기 때문에 해당 부분만 넘어가는데요
[chk] => Array
(
[0] => 3
[1] => 7
[2] => 33
)
[od_id] => Array
(
[0] => 2016042103190002
[1] => 2016042100560962
[9] => 2016042101080019
[10] => 2016042100560938
[11] => 2016042101080014
[12] => 2016042101080011
[13] => 2016042101080016
[14] => 2016042100560954
[15] => 2016042101080008
[16] => 2016042100560956
[17] => 2016042100560958
.
.
.
.
.
[2000] => 예)201600000000
)
[od_id] => Array
(
[0]
~
[2000]
)
위와같이 체크로 설정해놓은 부분 체크박스 밸류를 받아서 번호를 그 밸류로 다시
od_id[체크박스밸류로 받은 번호] <-- 이런식으로 사용 하게끔 되어있습니다.
현재 체크박스로 넘거 온 것이 3,7,33 이니까
$od_id = od_id[3];
(od_id[7])
이런식으로 사용하고 있습니다.
체크를 할수 있는 부분은 그림자밟기님께서 말씀하신대로 체크한 것만 넘어가지만
그 이외에 것들은 모두 그대로 넘어가서 문제가 되고 있는데요..
흠
어찌하는 것이 좋을까요...