제발도와주세요
본문
검색에 관해서
이름을 검색을 하였든,
조건을 걸어 날짜를 검색을 하였든
날짜 검색 후 등록/보류/삭제 처리를 해도 기존 검색 조건 그대로 남아있도록 어떠한 식으로 풀어야할까요?
보통 페이지를 넘겨서 처리를하고 다시 돌아오는 그러한 식으로 코드를짰는데..
어떠한것을 검색을 했음 남아있도록 메인페이지 다시 눌렀을때 없어지게 하고싶어요
해당버전은 5.2 v 입니다.
============================보류 버튼
function
hold() {
const
checked = document.querySelectorAll(
'[name="url_num"]:checked'
);
if
( !checked.length ) {
alert(
"보류할 대상을 체크 해주세요."
);
return
false;
}
//check된것을 가져오나 확인차.
let form = document.createElement(
"form"
);
form.method =
"POST"
;
form.action =
"list_hold.php"
;
let input = document.createElement(
"input"
);
input.type =
"hidden"
;
input.name =
"data"
;
input.value = Array.from(checked).map(o=>o.value).join(
","
);
form.appendChild(input);
document.body.appendChild(form);
form.submit();
alert(
"보류 되었습니다."
);
}
============================
============================넘어온 list_hold.php 페이지
<?php
include
'inc_head.php'
;
include
'connect.php'
;
?>
<!DOCTYPE html>
<html lang=
"en"
>
<head>
<meta charset=
"UTF-8"
/>
<meta http-equiv=
"X-UA-Compatible"
content=
"IE=edge"
/>
<meta name=
"viewport"
content=
"width=device-width, initial-scale=1.0"
/>
<?php
if
(isset(
$_POST
[
'data'
])){
// $data = $_POST['data'];
$data
= isset(
$_POST
[
'data'
]) ?
$_POST
[
'data'
] :
''
;
if
( !preg_match(
'/^[0-9,]+$/'
,
$data
) )
exit
(
'<script>alert("선택값 없음");history.back();</script>'
);
$temp
= preg_split(
'/,/'
,
$data
, -1, 1);
// 콤마로 분리, 빈 배열 제외
if
( !
count
(
$temp
) )
exit
(
'<script>alert("선택값 없음");history.back();</script>'
);
$val
= implode(
','
,
$temp
);
// 숫자만 남아있으니 콤마로 결합
$sql
=
"update admin.tb_bizring set biz_flag = '보류' WHERE biz_key IN ({$val})"
;
$result
=
$connect
->query(
$sql
);
// var_dump($data, $sql);
}
echo
"<script>
document.location.href =
'list.php'
;
</script>";
exit
;
?>
</head>
</html>
============================ 메인 페이지 날짜 검색
else
if
및 이름 검색
$date_to
=
$_POST
[
'date_to'
];
$date_from
=
$_POST
[
'date_from'
];
// ex) 11-30 ~ 11-29 눌렀을때 변수
$str_now
=
strtotime
(
$date_to
);
$str_target
=
strtotime
(
$date_from
);
// ex) 11-30 ~ 11-29 눌렀을때 Alert창
if
(
$str_now
>
$str_target
) {
echo
"<script>
alert(
'잘못된 접근입니다. 날짜를 다시 확인해주세요.'
);
</script>";
echo
"<script>
document.location.href =
'detail_list.php'
;
</script>";
exit
;
//빠져 나오기
}
if
(isset(
$_POST
[
'search'
])){
$catagory
=
$_POST
[
'catgo'
];
$search_con
=
$_POST
[
'search'
];
$sql
= "select
IFNULL(biz_key,
'0'
)
as
biz_key,
IFNULL(biz_type,
'0'
)
as
biz_type,
IFNULL(biz_name,
'0'
)
as
biz_name,
IFNULL(biz_rc,
'0'
)
as
biz_rc,
IFNULL(biz_phonecorp,
'0'
)
as
biz_phonecorp,
IFNULL(biz_phone,
'0'
)
as
biz_phone ,
IFNULL(biz_birth,
'0'
)
as
biz_birth,
IFNULL(biz_gender,
'0'
)
as
biz_gender,
IFNULL(biz_regtime,
'0'
)
as
biz_regtime,
IFNULL(biz_flag,
'0'
)
as
biz_flag
from admin.tb_bizring where
$catagory
like
'%$search_con%'
and
biz_type =
'간편'
order by biz_regtime desc";
}
else
if
(
$date_to
&&
$date_from
){
$sql
= "select
IFNULL(biz_key,
'0'
)
as
biz_key,
IFNULL(biz_type,
'0'
)
as
biz_type,
IFNULL(biz_name,
'0'
)
as
biz_name,
IFNULL(biz_rc,
'0'
)
as
biz_rc,
IFNULL(biz_phonecorp,
'0'
)
as
biz_phonecorp,
IFNULL(biz_phone,
'0'
)
as
biz_phone,
IFNULL(biz_birth,
'0'
)
as
biz_birth,
IFNULL(biz_gender,
'0'
)
as
biz_gender,
IFNULL(biz_regtime,
'0'
)
as
biz_regtime,
IFNULL(biz_flag,
'0'
)
as
biz_flag
FROM admin.tb_bizring
WHERE biz_regtime BETWEEN
'$date_to 00:00:00'
AND
'$date_from 23:59:59'
ORDER BY biz_regtime DESC";
}
답변 2
ajax로 처리하시거나
모든 검색 조건 값을 처리 페이지에도 넘겨 주시고
페이지 이동할 때 이 값을 사용해서
페이지 이동하게 하면 됩나다
만약 메인페이지로 가기전까지는 검색한 값을 계속 가지고 계시려면 세션에 저장하세요
메인페이지에서 세션을 지우면되구요