Chrome 디버거를 사용 중이며 AJAX 요청 (PHP 파일 -> 페이지)에서 JSON 피드를 올바르게 가져올 수 있습니다. 문제는 해당 피드에서 데이터를 가져 와서 아래 언급 된 표에 삽입하는 것입니다. 가장 혼란스러운 부분은이 코드가 사이트의 다른 부분에서 완벽하게 작동하지만 여기서는 작동하지 않는 것입니다.선택한 필드에 AJAX를 표시 할 수 없습니다.
JSFiddle : http://jsfiddle.net/2qc01ceL/
HTML :
<div class="form_head">Flight & Duty</div>
<table cellpadding="4" cellspacing="0" width="100%">
<thead>
<tr class="tab_head" style="color:#FFF; text-align:center"><th rowspan="2">Pilot</th><th rowspan="2">ARN</th><th colspan="2">Remaining Duty Time</th><th colspan="3">Remaining Flight Time</th></tr>
<tr class="tab_head" style="color:#FFF; text-align:center"><th>7 Day</th><th>14 Day</th><th>7 Day</th><th>30 Day</th><th>365 Day</th></tr>
</thead>
<tbody>
<tr><td id="name"></td><td id="arn"></td><td></td><td></td><td></td><td></td><td></td></tr>
</tbody>
</table>
JQuery와/AJAX :
$(document).ready(function() {
var data = function(callback) {
return $.ajax({
type: "GET",
dataType: 'json',
url: "required/duty.php",
async: false,
success: function(doc) {
var duty = [];
$(doc).each(function() {
duty.push({
id: $(this).attr('id'),
dutyarn: $(this).attr('dutyarn'),
dutyon: $(this).attr('dutyon'),
dutyoff: $(this).attr('dutyoff'),
dutytime: $(this).attr('dutytime'),
userfname: $(this).attr('userfname'),
userlname: $(this).attr('userlname'),
});
});
callback(duty);
}
}).responseText;
};
document.getElementById("arn").innerHTML = duty.arn;
});
PHP 파일 :
mysql_connect(
"mysql.**.com",
"**",
"**") or die
("Unable to connect to SQL server");
mysql_select_db(
"**") or die
("Unable to select database");
$json = array();
$get_duty = "
SELECT * FROM heli_duty
LEFT JOIN heli_user ON duty_arn = user_arn
WHERE 1";
$run_duty = mysql_query("$get_duty") or die($sql_error .mysql_error());
$duty_array = array();
while ($duty = mysql_fetch_assoc($run_duty, MYSQL_ASSOC)) {
$duty_array[] = array(
'id' => $duty[duty_id],
'dutyarn' => $duty[duty_arn],
'dutyon' => $duty[duty_on],
'dutyoff' => $duty[duty_off],
'dutytime' => $duty[duty_time],
'userfname' => $duty[user_fname],
'userlname' => $duty[user_lname],
);
}
echo json_encode($duty_array);
또한 표준으로 MySQLi를 살펴보십시오. MySQL은 더 이상 사용되지 않을 것이며 보안상의 관점에서 결함이있는 것으로 보입니다. – Martin
@Martin에게 감사드립니다.하지만 상황에 따라이 프로젝트에서 MySQLi를 사용할 수 없습니다. –
당신은 정교 할 수 있습니까? 내가 MySQL을 MySQLi하지만 내가 할 수없는 프로젝트의 이유를 생각하고 노력하고있어 :/ – Martin