영카트 상품등록 분류
본문
아무리 찾아봐도 알수가없어서 이렇게 문의글씁니다.
상품등록시 1차분류 2차분류 3차분류 있는데.
여기서 분류 선택할때. 가나다 순이아니라 뒤죽박죽 되어있어 상품등록시 분류찾느라 너무많은시간을 허비하고있는데요
혹시 가.나.다 순으로 정렬할수있는방법이 있을까요 ?
어느파일에서 어떻게 수정하면되는지 알려주세요
감사합니다.
조회 쿼리에서 order by를 넣어서 정렬해오는 목록을 뿌려주는 방법이 있다는데.
어느경로에서 어떻게 수정해야하는지 알려주시면 감사하겠습니다.
/www/adm/shop_admin/itemform.php <- 여기가 맞는건가용..
<?php
$sub_menu = '400300';
include_once('./_common.php');
include_once(G5_EDITOR_LIB);
include_once(G5_LIB_PATH.'/iteminfo.lib.php');
auth_check($auth[$sub_menu], "w");
$html_title = "상품 ";
if ($w == "")
{
$html_title .= "입력";
// 옵션은 쿠키에 저장된 값을 보여줌. 다음 입력을 위한것임
//$it[ca_id] = _COOKIE[ck_ca_id];
$it['ca_id'] = get_cookie("ck_ca_id");
$it['ca_id2'] = get_cookie("ck_ca_id2");
$it['ca_id3'] = get_cookie("ck_ca_id3");
if (!$it['ca_id'])
{
$sql = " select ca_id from {$g5['g5_shop_category_table']} order by ca_order, ca_id limit 1 ";
$row = sql_fetch($sql);
if (!$row['ca_id'])
alert("등록된 분류가 없습니다. 우선 분류를 등록하여 주십시오.", './categorylist.php');
$it['ca_id'] = $row['ca_id'];
}
//$it[it_maker] = stripslashes($_COOKIE[ck_maker]);
//$it[it_origin] = stripslashes($_COOKIE[ck_origin]);
$it['it_maker'] = stripslashes(get_cookie("ck_maker"));
$it['it_origin'] = stripslashes(get_cookie("ck_origin"));
}
else if ($w == "u")
{
$html_title .= "수정";
if ($is_admin != 'super')
{
$sql = " select it_id from {$g5['g5_shop_item_table']} a, {$g5['g5_shop_category_table']} b
where a.it_id = '$it_id'
and a.ca_id = b.ca_id
and b.ca_mb_id = '{$member['mb_id']}' ";
$row = sql_fetch($sql);
if (!$row['it_id'])
alert("\'{$member['mb_id']}\' 님께서 수정 할 권한이 없는 상품입니다.");
}
$it = get_shop_item($it_id);
if(!$it)
alert('상품정보가 존재하지 않습니다.');
if (!$ca_id)
$ca_id = $it['ca_id'];
$sql = " select * from {$g5['g5_shop_category_table']} where ca_id = '$ca_id' ";
$ca = sql_fetch($sql);
}
else
{
alert();
}
$qstr = $qstr.'&sca='.$sca.'&page='.$page;
$g5['title'] = $html_title;
include_once (G5_ADMIN_PATH.'/admin.head.php');
// 분류리스트
$category_select = '';
$script = '';
$sql = " select * from {$g5['g5_shop_category_table']} ";
if ($is_admin != 'super')
$sql .= " where ca_mb_id = '{$member['mb_id']}' ";
$sql .= " order by ca_order asc, ca_id asc";
$result = sql_query($sql);
for ($i=0; $row=sql_fetch_array($result); $i++)
{
$len = strlen($row['ca_id']) / 2 - 1;
$nbsp = "";
for ($i=0; $i<$len; $i++)
$nbsp .= " ";
$category_select .= "<option value=\"{$row['ca_id']}\">$nbsp{$row['ca_name']}</option>\n";
$script .= "ca_use['{$row['ca_id']}'] = {$row['ca_use']};\n";
$script .= "ca_stock_qty['{$row['ca_id']}'] = {$row['ca_stock_qty']};\n";
//$script .= "ca_explan_html['$row[ca_id]'] = $row[ca_explan_html];\n";
$script .= "ca_sell_email['{$row['ca_id']}'] = '{$row['ca_sell_email']}';\n";
}
// 재입고알림 설정 필드 추가
if(!sql_query(" select it_stock_sms from {$g5['g5_shop_item_table']} limit 1 ", false)) {
sql_query(" ALTER TABLE `{$g5['g5_shop_item_table']}`
ADD `it_stock_sms` tinyint(4) NOT NULL DEFAULT '0' AFTER `it_stock_qty` ", true);
}
// 추가옵션 포인트 설정 필드 추가
if(!sql_query(" select it_supply_point from {$g5['g5_shop_item_table']} limit 1 ", false)) {
sql_query(" ALTER TABLE `{$g5['g5_shop_item_table']}`
ADD `it_supply_point` int(11) NOT NULL DEFAULT '0' AFTER `it_point_type` ", true);
}
// 상품메모 필드 추가
if(!sql_query(" select it_shop_memo from {$g5['g5_shop_item_table']} limit 1 ", false)) {
sql_query(" ALTER TABLE `{$g5['g5_shop_item_table']}`
ADD `it_shop_memo` text NOT NULL AFTER `it_use_avg` ", true);
}
// 지식쇼핑 PID 필드추가
// 상품메모 필드 추가
if(!sql_query(" select ec_mall_pid from {$g5['g5_shop_item_table']} limit 1 ", false)) {
sql_query(" ALTER TABLE `{$g5['g5_shop_item_table']}`
ADD `ec_mall_pid` varchar(255) NOT NULL AFTER `it_shop_memo` ", true);
}
$pg_anchor ='<ul class="anchor">
<li><a href="#anc_sitfrm_cate">상품분류</a></li>
<li><a href="#anc_sitfrm_skin">스킨설정</a></li>
<li><a href="#anc_sitfrm_ini">기본정보</a></li>
<li><a href="#anc_sitfrm_compact">요약정보</a></li>
<li><a href="#anc_sitfrm_cost">가격 및 재고</a></li>
<li><a href="#anc_sitfrm_sendcost">배송비</a></li>
<li><a href="#anc_sitfrm_img">상품이미지</a></li>
<li><a href="#anc_sitfrm_relation">관련상품</a></li>
<li><a href="#anc_sitfrm_event">관련이벤트</a></li>
<li><a href="#anc_sitfrm_optional">상세설명설정</a></li>
<li><a href="#anc_sitfrm_extra">여분필드</a></li>
</ul>
';
// 쿠폰적용안함 설정 필드 추가
if(!sql_query(" select it_nocoupon from {$g5['g5_shop_item_table']} limit 1", false)) {
sql_query(" ALTER TABLE `{$g5['g5_shop_item_table']}`
ADD `it_nocoupon` tinyint(4) NOT NULL DEFAULT '0' AFTER `it_use` ", true);
}
// 스킨필드 추가
if(!sql_query(" select it_skin from {$g5['g5_shop_item_table']} limit 1", false)) {
sql_query(" ALTER TABLE `{$g5['g5_shop_item_table']}`
ADD `it_skin` varchar(255) NOT NULL DEFAULT '' AFTER `ca_id3`,
ADD `it_mobile_skin` varchar(255) NOT NULL DEFAULT '' AFTER `it_skin` ", true);
}
?>
<form name="fitemform" action="./itemformupdate.php" method="post" enctype="MULTIPART/FORM-DATA" autocomplete="off" onsubmit="return fitemformcheck(this)">
<input type="hidden" name="codedup" value="<?php echo $default['de_code_dup_use']; ?>">
<input type="hidden" name="w" value="<?php echo $w; ?>">
<input type="hidden" name="sca" value="<?php echo $sca; ?>">
<input type="hidden" name="sst" value="<?php echo $sst; ?>">
<input type="hidden" name="sod" value="<?php echo $sod; ?>">
<input type="hidden" name="sfl" value="<?php echo $sfl; ?>">
<input type="hidden" name="stx" value="<?php echo $stx; ?>">
<input type="hidden" name="page" value="<?php echo $page; ?>">
<section id="anc_sitfrm_cate">
<h2 class="h2_frm">상품분류</h2>
<?php echo $pg_anchor; ?>
<div class="local_desc02 local_desc">
<p>기본분류는 반드시 선택하셔야 합니다. 하나의 상품에 최대 3개의 다른 분류를 지정할 수 있습니다.</p>
</div>
<div class="tbl_frm01 tbl_wrap">
<table>
<caption>상품분류 입력</caption>
<colgroup>
<col class="grid_4">
<col>
</colgroup>
<tbody>
<tr>
<th scope="row"><label for="ca_id">기본분류</label></th>
<td>
<?php if ($w == "") echo help("기본분류를 선택하면, 판매/재고/HTML사용/판매자 E-mail 등을, 선택한 분류의 기본값으로 설정합니다."); ?>
<select name="ca_id" id="ca_id" onchange="categorychange(this.form)">
<option value="">선택하세요</option>
<?php echo conv_selected_option($category_select, $it['ca_id']); ?>
</select>
<script>
var ca_use = new Array();
var ca_stock_qty = new Array();
//var ca_explan_html = new Array();
var ca_sell_email = new Array();
var ca_opt1_subject = new Array();
var ca_opt2_subject = new Array();
var ca_opt3_subject = new Array();
var ca_opt4_subject = new Array();
var ca_opt5_subject = new Array();
var ca_opt6_subject = new Array();
<?php echo "\n$script"; ?>
</script>
</td>
</tr>
<?php for ($i=2; $i<=3; $i++) { ?>
<tr>
<th scope="row"><label for="ca_id<?php echo $i; ?>"><?php echo $i; ?>차 분류</label></th>
<td>
<?php echo help($i.'차 분류는 기본 분류의 하위 분류 개념이 아니므로 기본 분류 선택시 해당 상품이 포함될 최하위 분류만 선택하시면 됩니다.'); ?>
<select name="ca_id<?php echo $i; ?>" id="ca_id<?php echo $i; ?>">
<option value="">선택하세요</option>
<?php echo conv_selected_option($category_select, $it['ca_id'.$i]); ?>
</select>
</td>
</tr>
<?php } ?>
</tbody>
</table>
</div>
</section>
답변 2
// 분류리스트 <--- 이 주석이 있는 곳에 보면 아래코드가 정렬 부분 입니다
$sql .= " order by ca_order asc, ca_id asc";
분류를 정렬할때 1차분류 ID 이후에 2차분류 ID 이런순서로 되어야 하기 때문에
저 곳에서 분류명 순으로 정렬하는 것은 안됩니다
-- 정렬에 ca_name을 넣어서 해보면 무엇이 문제인지 알것입니다
ca_order <--출력 순서를 입력하도록 되어있으니 이것을 이용하든지
1차분류를 먼저 추출한 후에 select 를 만들때 해당분류의 2차, 3차분류를 추출하는 방법으로
프로그래밍해야 가능할 것입니다
가나다라순이 아니라 이건 등록하면 등록순이고 글고 4개 6개 8개 이렇게 될거에요 상품코드가요
상품 코드 순으로 해야될듯?
답변을 작성하시기 전에 로그인 해주세요.