영카트5 search.php의 정렬부분에 대한 질문드립니다.
저는 PHP 초보자입니다.
그런데 아래와 같이 영카트5의 search.php에서 $qsort에 추가 필드를 넣어서 정렬하면 동작하지 않는데, 해결책이 무엇인지요?
좀더 상세히 설명 드리면 shop_item 테이블에 A라는 필드를 추가하고 $qsort에 추가했을 때, 실행될 수 있는 방법에 대해서 문의 드립니다.
==================================================================
기존에 아래와 같은 문장을
if (($qsort == "it_sum_qty" || $qsort == "it_price" || $qsort == "it_use_avg" || $qsort == "it_use_cnt" || $qsort == "it_update_time") &&
($qorder == "asc" || $qorder == "desc")) {
$order_by = ' order by ' . $qsort . ' ' . $qorder . ' , it_order, it_id desc';
아래와 같이 수정
if (($qsort == "it_sum_qty" || $qsort == "it_price" || $qsort == "it_use_avg" || $qsort == "it_use_cnt" || $qsort == "A") &&
($qorder == "asc" || $qorder == "desc")) {
$order_by = ' order by ' . $qsort . ' ' . $qorder . ' , it_order, it_id desc';
답변 6개
감사합니다.
위에서 설명하신 내용은 정상적으로 표시됩니다.
search.php 및 search.skin.php 수정하여 링크부분에서 qsort=A&qorder=asc 혹은 qsort=A&qorder=desc로 정상적으로 표시되지만 새로 추가된 필드에 대해서는 동작하지 않습니다. 그래서 mysql에서 트랜잭션 로그를 캡쳐할 수 있도록 환경을 변경하여 로그를 분석해보면 링크에서는 정상적으로 보이는 값이 쿼리 문에서는 누락된 형태로 쿼리가 수행됩니다.
그래서 개인적으로는 search.php에 sort 값에 대한 제한을 한 부분이 있어서 그런 것은 아닌지 추측하고 있는데, 그렇다면 어디를 수정해야 하는지? 아니면 소스 코드에 문제가 있는지 궁금합니다.
감사합니다.
답변을 작성하려면 로그인이 필요합니다.