php 첫번째 배열명을 기준으로 셀렉트 박스 만들기
본문
$list[0] = array("opt"=>"사이즈", "name"=>"S");
$list[1] = array("opt"=>"사이즈", "name"=>"M");
$list[2] = array("opt"=>"사이즈", "name"=>"L");
$list[3] = array("opt"=>"색상", "name"=>"레드");
$list[4] = array("opt"=>"색상", "name"=>"블루");
$list[5] = array("opt"=>"색상", "name"=>"블랙");
$list[6] = array("opt"=>"추가상품", "name"=>"청바지");
$list[7] = array("opt"=>"추가상품", "name"=>"원피스");
$list[8] = array("opt"=>"추가상품", "name"=>"티셔츠");
위와 같은 배열문을 통해 아래처럼 셀렉트 박스를 만들려고 합니다.
어떻게 해야 아래처럼 php로 구현할 수 있을까요?
한시간째 머리를 굴려봐도 답이 안나옵니다 ㅜ.ㅜ
도움을 부탁드려요.
<select>
<option value="">사이즈</option>
<option value="S">S</option>
<option value="M">M</option>
<option value="L">L</option>
</select>
<select>
<option value="">색상</option>
<option value="레드">레드</option>
<option value="블루">블루</option>
<option value="블랙">블랙</option>
</select>
<select>
<option value="">추가상품</option>
<option value="청바지">청바지</option>
<option value="원피스">원피스</option>
<option value="티셔츠">티셔츠</option>
</select>
답변 2
자답입니다.
왜 질문하고 나면 생각이 나는걸까요 ㅜㅜ
더 심플한 방법이 있으시다면 댓글 부탁드립니다.
$list[0] = array("opt"=>"사이즈", "name"=>"X", "qty"=>"100");
$list[1] = array("opt"=>"사이즈", "name"=>"M", "qty"=>"100");
$list[2] = array("opt"=>"사이즈", "name"=>"L", "qty"=>"100");
$list[3] = array("opt"=>"색상", "name"=>"레드", "qty"=>"100");
$list[4] = array("opt"=>"색상", "name"=>"블루", "qty"=>"100");
$list[5] = array("opt"=>"색상", "name"=>"블랙", "qty"=>"100");
$list[6] = array("opt"=>"추가상품", "name"=>"청바지", "qty"=>"100");
$list[7] = array("opt"=>"추가상품", "name"=>"원피스", "qty"=>"100");
$list[8] = array("opt"=>"추가상품", "name"=>"티셔츠", "qty"=>"100");
unset($opt);
for($i=0;$i<count($list);$i++) {
$opt[$list[$i]['opt']][$i]['name'] = $list[$i]['name'];
$opt[$list[$i]['opt']][$i]['qty'] = $list[$i]['qty'];
}
$options = "";
foreach($opt as $key=>$val){
$options .= "<select>";
$options .= "<option>".$key."</option>";
foreach($val as $key2=>$val2){
$options .= "<option value='".$val2['qty']."'>".$val2['name']."</option>";
}
$options .= "</select>";
}
echo $options;
$list = array(
"사이즈"=>array( "S","M,"L"),
"색상"=>array("레드","블루","블랙"),
"추가상품"=array("청바지","원피스","티셔츠")
);
이런 식으로 구성해 보세요.