Copy
<script>
// ajax.php
// DB에서 불러온 데이터를 A_1, A_2 ..... 데이터를 변수에 넣고 싶습니다.
$.ajax({
url: "sql.php",
type: "post",
async:false,
data : ({ act: "A_restart", pid:pid }),
success: function (data) {
A_1 = data['A_1']; // A_1 필드 데이터를 A_1 변수에 담기
}
})
</script>
Copy
<?php
// sql.php
$act = $_POST['act'];
if ($act =='A_restart') {
$sql = "SELECT * FROM `test` WHERE `PID` = {$fetch['PID']}";
$fetch = sql_fetch($sql);
return;
}
?>
sql.php 에서 데이터를 가지고 와서 변수에 담고 싶습니다.
검색을 해봤지만 당체 모르겠습니다. 위 코드는 뇌피셜로 적어본겁니다.
답변 3개 / 댓글 4개
채택된 답변
+20 포인트
마르스컴퍼니
2023-02-13 (월) 19:03:56
※ https://codeanddeploy.com/blog/php/how-to-return-json-response-in-php-mysql-using-ajax-and-jquery
Copy
<script>
$.ajax({
url : "sql.php",
type : "post",
async : false,
dataType : 'json',
data : ({ act: "A_restart", pid:pid }),
success: function (data) {
response = JSON.parse(data);
alert(response.A_1);
alert(response.A_2);
}
})
</script>
Copy
<?php
include_once "common.php"; //그누보드 루트의 common.php
$act = $_POST['act'];
if ($act =='A_restart') {
$sql = "
SELECT *
FROM `test`
WHERE `PID` = {$fetch['PID']}
";
$row = sql_fetch($sql);
echo json_encode($row);
}
?>
답변에 대한 댓글 2개
타버린나무
2023-02-13 (월) 20:01:16
2023-02-13 (월) 19:03:05
DB 에서 데이터를 자바스크립트 변수로 받아 올때는 아작스 필요없습니다.
<?php $A_1 을 불러오는 코드; ?>
<script>
A_1 = "<?php echo $A_1; ?>";
</script>
html 로 작접 표현하려면
<?php $A_1 을 불러오는 코드; ?>
<div><?php echo $A_1; "?></div>
답변에 대한 댓글 1개
타버린나무
2023-02-13 (월) 20:03:19
예.. 이렇게 하면 다음줄에서 if(pid=='' ) { A_1 = 1 } 같은 항목이 들어가 도 말씀하신 코드가 우선? 되더군요..
2023-02-13 (월) 19:02:36
Copy
<script>
// ajax.php
// DB에서 불러온 데이터를 A_1, A_2 ..... 데이터를 변수에 넣고 싶습니다.
var A_1 = null;
var pid = 123;
$.ajax({
url: "sql.php",
type: "post",
async:false,
data : ({ act: "A_restart", pid:pid }),
success: function (data) {
try {
data = JSON.parse(data);
if (data != null && data['A_1'] != null) {
A_1 = data['A_1']; // A_1 필드 데이터를 A_1 변수에 담기
}
} catch (err) { console.error(err); }
}
})
</script>
Copy
<?php
// sql.php
$output = ['A_1' => null];
$act = isset($_POST['act']) ? $_POST['act'] : '';
$pid = isset($_POST['pid']) ? $_POST['pid'] : '';
if ($act =='A_restart') {
$sql = "SELECT * FROM `test` WHERE `PID` = {$pid}";
$fetch = sql_fetch($sql);
if (empty($fetch['A_1']) === false) {
$output['A_1'] = $fetch['A_1'];
}
}
echo json_encode($output);
?>
답변에 대한 댓글 1개
타버린나무
2023-02-13 (월) 20:09:24
답변 감사합니다.
POST http:...... 500 <Internal server Error 에러가 나는데... 한번만 더 봐주실수 있을까요..
* 위 에러는 제가 if문 안에 복사해 넣었더니 에러 난거네요.
그래도 수정하고 했지만 데이터값을 불러오질 못하네요
POST http:...... 500 <Internal server Error 에러가 나는데... 한번만 더 봐주실수 있을까요..
* 위 에러는 제가 if문 안에 복사해 넣었더니 에러 난거네요.
그래도 수정하고 했지만 데이터값을 불러오질 못하네요
답변을 작성하려면 로그인이 필요합니다.
dataType : 'json', 이부분을 지우면 잘 동작합니다. 감사합니다