채택완료

option 선택한 값을 sql문에 넣으려는데 변수를 어떻게 지정해줘야할까요?

2021-07-22 (목) 14:26:43 1,930

답변 3개 / 댓글 9개

채택된 답변
+20 포인트
2021-07-22 (목) 15:47:35

function doSelectArea1() {
$.ajax({
type: "POST",
url: "<?php echo G5_URL ?>/estimate/ajax.area1.php",
data: {
"area1": $('#srchArea1').val()
},

이 부분이 말씀하신 해당 <select의 값을 가져 옵니다.

답변에 대한 댓글 7개

select값인 area1이랑 area2를 sql문에다가 넣고싶은데
이렇게 하면될까요?

$sql .= " and mb_id in ( select mb_id from {$g5['member_area_table']} where 1=1 and ( ( mb_area1 = '$srchArea1' and ifnull(mb_area2,'') = '' ) or ( mb_area1 = '$srchArea1' and mb_area2 = '$srchArea2'))) ";
ajax.area1.php
를 post 형태로 ajax 호출하셨습니다.

ajax.area1.php 안에서
include '_common.php'를 하셨다면

data: {
"area1": $('#srchArea1').val()
보내는 데이터가 이렇게 생겼으니

$area1 변수를 사용하시면 됩니다.
이미 지정된 $area1이 있어서 ajax $area1를 사용하면 지정된데이터가 조회됩니다
query문에서
mb_area1 = '$srchArea1'
이렇게 하실 거면

$.ajax({
type: "POST",
url: "<?php echo G5_URL ?>/estimate/ajax.area1.php",
data: {
"srchArea1": $('#srchArea1').val()
},

data 부분을 이렇게 고쳐야 합니다.
아니면 select 선택값을 바로 쿼리문에 넣을수는없을까요?
브라우저(<select)에 있는 값을
서버( select query)로 바로 보내는 방법이 ajaxj입니다.
아작스를 사용해서 만들어봐야겠네여ㅠ
2021-07-22 (목) 14:55:42

ajax 호출 부분도 올려 보세요.

답변에 대한 댓글 1개

<script type="text/javascript">
var v_area1 = "<?php echo $searcharea1; ?>";
var v_area2 = "<?php echo $searcharea2; ?>";
jQuery(document).ready(function() {
doSelectArea1();
});

function doSelectArea1() {
$.ajax({
type: "POST",
url: "<?php echo G5_URL ?>/estimate/ajax.area1.php",
data: {
"area1": $('#srchArea1').val()
},
cache: false,
success: function(data) {
var fvHtml = "<option value=\"\" selected>시/도 전체</option>";
fvHtml += data;
$("#srchArea1").html(fvHtml);

if (v_area1) {
$("#srchArea1").val(v_area1);
v_area1 = "";
doSelectArea2();
} else {
fvHtml = "<option value=\"\" selected>시/구/군 전체</option>";
$("#srchArea2").html(fvHtml);
}
$('#srchArea1').change(function() {
doSelectArea2();
});
}
});
}

function doSelectArea2() {
$.ajax({
type: "POST",
url: "<?php echo G5_URL ?>/estimate/ajax.area2.php",
data: {
"area1": $('#srchArea1').val()
},
cache: false,
success: function(data) {
var fvHtml = "";
if ($("#srchArea1").val()) {
fvHtml += "<option value=\"\" selected>" + $("#srchArea1").val() + " 전체</option>";
} else {
fvHtml += "<option value=\"\" selected>시/도</option>";
}
fvHtml += data;
$("#srchArea2").html(fvHtml);
if (v_area2) {
$("#srchArea2").val(v_area2);
v_area2 = "";
}

}
});
}
</script>

입니다
2021-07-22 (목) 14:47:57

form post로 날리고 <option> 시도 아래로 value값이 지정되면 name area1로 받으면대져

답변에 대한 댓글 1개

$srcharea1 = $_POST['area1'];
$srcharea2 = $_POST['area2'];

이렇게 변수지정해줘서 사용해도 안되네요

답변을 작성하려면 로그인이 필요합니다.