orderlist.php 배송업체를 여러개 저장하려고 합니다.
orderlist.php의 배송업체를
<?
$baedal = explode("|",$row['od_delivery_company']);
$baedal_0 = $baedal[0];
$baedal_1 = $baedal[1];
$baedal_2 = $baedal[2];
?>
<input type="text" name="baedal_0" value="<?=$baedal[0]?>" class="frm_input" size="5">
<input type="text" name="baedal_1" value="<?=$baedal[1]?>" class="frm_input" size="5">
<input type="text" name="baedal_2" value="<?=$baedal[2]?>" class="frm_input" size="5">
이렇게 쪼개서 od_delivery_company에
대한통운|롯데택배|한진택배 ->이런식으로
여러개를 저장하려고 하는데
orderlistupdate.php 에서
아래처럼 하였는데, 저장이 안되네요. 조갠 값을 다시 배열로 저장하니 문제가 되는 것 같아요.
이런경우 어떻게 처리해야 되나요? 도움 부탁 드립니다.ㅜㅜ
$baedal_0 = isset($_POST['baedal_0'][$k]) ? clean_xss_tags($_POST['baedal_0'][$k], 1, 1) : '';
$baedal_1 = isset($_POST['baedal_1'][$k]) ? clean_xss_tags($_POST['baedal_1'][$k], 1, 1) : '';
$baedal_2 = isset($_POST['baedal_2'][$k]) ? clean_xss_tags($_POST['baedal_2'][$k], 1, 1) : '';
$delivery_company = "$baedal_0|$baedal_1|$baedal_2";
답변 2개 / 댓글 8개
배송업체가 늘었다 줄었다 할 수 있을 것이라고 가정하면
input의 name을 array(baedal[])로 해서 전송하시고
합치실 때 php->implode로 합치시면 될거에요
답변에 대한 댓글 7개
[code]
<input type="text" name="baedal[]" value="<?=$baedal[0]?>" class="frm_input" size="5">
<input type="text" name="baedal[]" value="<?=$baedal[1]?>" class="frm_input" size="5">
<input type="text" name="baedal[]" value="<?=$baedal[2]?>" class="frm_input" size="5">
[/code]
orderlistupdate.php
[code]
$delivery_company = implode('|',$baedal);
[/code]
orderlistupdate.php에서 print_r($baedal) 로 array로 잘 들어오는지 확인해 보시구요
for($i = 0; $i < count($baedal); $i++)을 이용해서 clean_xss_tags를 돌리고...
말씀하신대로 아래처럼 적용하니 각 상품마다 저장이 잘 됩니다. 그런데 이상하게
제가 상품1에 1|2를 넣고 상품2에 3|4를 넣었는데, 상품1에 1|3이 저장되고 상품2에 2|4가
저장이 되어요.
<input type="text" name="baedal[<?=$b?>][]" value="<?=$baedal[$b]?>" class="frm_input" size="5">
$delivery_company = implode('|',$baedal[$k]);
[code]
상품1
<input type="text" name="baedal[]" value="<?=$baedal[0][0]?>" class="frm_input" size="5">
<input type="text" name="baedal[]" value="<?=$baedal[0][1]?>" class="frm_input" size="5">
<input type="text" name="baedal[]" value="<?=$baedal[0][2]?>" class="frm_input" size="5">
상품2
<input type="text" name="baedal[]" value="<?=$baedal[1][0]?>" class="frm_input" size="5">
<input type="text" name="baedal[]" value="<?=$baedal[1][1]?>" class="frm_input" size="5">
<input type="text" name="baedal[]" value="<?=$baedal[1][2]?>" class="frm_input" size="5">
[/code]
이런식으로 되어 있어야 하구요
implode하시기 전에 print_r해서 array의 값이 잘 들어오고 있는지를 먼저 보셔야 해요
여담으로 아마 $b가 아닌 chk에서 넘기는 숫자가 있을 꺼에요 그걸로 하셔야 해요
답변을 작성하려면 로그인이 필요합니다.
뭔가 잘못한 것 같은데,
orderlist.php에서는 이렇게하고
<input type="text" name="array(od_delivery_company[$b])" value="<?=$baedal[$b]?>" class="frm_input" size="5">
orderlistupdate.php 에서는 아래처럼 하였는데 잘 안되네요. ㅜㅜ
$delivery_company = isset($_POST['od_delivery_company'][$k]) ? clean_xss_tags($_POST['od_delivery_company'][$k], 1, 1) : '';
$delivery_company = implode('|',$delivery_company);