영카트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 에 소스를 보시면 아시겠지만
for ($i=0; $i<count($_POST['chk']); $i++){ // 실제 번호를 넘김 $k = $_POST['chk'][$i]; $od_id = $_POST['od_id'][$k];
답변 2개 / 댓글 1개
배열로 체크한 것만 넘겨서 처리하면 됩니다.
<form method="post"><input type="hidden" name="ok" value="ok"><input type="checkbox" name="aa[]" value="1"> 1<br/><input type="checkbox" name="aa[]" value="2"> 2<br/><input type="checkbox" name="aa[]" value="3"> 3<br/><input type="checkbox" name="aa[]" value="4"> 4<br/><input type="checkbox" name="aa[]" value="5"> 5<br/><input type="checkbox" name="aa[]" value="6"> 6<br/><input type="checkbox" name="aa[]" value="7"> 7<br/><input type="checkbox" name="aa[]" value="8"> 8<br/><input type="checkbox" name="aa[]" value="9"> 9<br/><button>222</button></form><?phpprint_r($_POST[aa]);?>
답변에 대한 댓글 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])
이런식으로 사용하고 있습니다.
체크를 할수 있는 부분은 그림자밟기님께서 말씀하신대로 체크한 것만 넘어가지만
그 이외에 것들은 모두 그대로 넘어가서 문제가 되고 있는데요..
흠
어찌하는 것이 좋을까요...