저는 php와 ajax에 익숙하지 않아서 페이지를 새로 고치지 않고도 mysql 데이터베이스에서 실시간으로 대시 보드를 만들려고했습니다. 나는이 코드를 아래에서 만들 수 있지만이 SQL 쿼리 및 다른 Divs 함께 작동합니다 그래서이 적응하는 방법에 대한 고투입니다.복수 사업부가 mysql 데이터베이스에서 새로 고침
현재 내 코드는 SQL 쿼리를 실행하고 OrderSubmitted Div ID로 출력합니다. div에 다른 sql 쿼리를 출력하고 싶습니다. 주문 수행 완료이 작업을 수행하는 방법은 무엇입니까?
HTML
<div class="row">
<!-- Left Box -->
<div class="col-lg-6 col-sm-6" style="padding-right:15px; padding-left:0px">
<div class="well" style="height: 300px;">
<h2 style="text-align:center; font-size:8em;">
<div id="SubmittedOrders"></div>
</h2>
<p style="text-align:center; font-size:1.5em;">Outstanding Orders</p>
</div>
</div>
<!-- Right Box -->
<div class="col-lg-6 col-sm-6" style="padding-left:15px; padding-right:0px">
<div class="well" style="height: 300px;">
<h2 style="text-align:center; font-size:8em;">
<div id ="OrderFulfilled"></div>
</h2>
<p style="text-align:center; font-size:1.5em;">Orders fulfiled today</p>
</div>
</div>
</div>
AJAX 스크립트
function getOrderStatus() {
?>
<script>
// IE5/6 support
function ajax_loop() {
if (window.XMLHttpRequest) {
xmlhttp=new XMLHttpRequest();
} else {
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
// Create function for handling AJAX response
// Set dashboard div's contents to the response for Submitted Orders
xmlhttp.onreadystatechange=function() {
if (xmlhttp.readyState==4 && xmlhttp.status==200) {
document.getElementById("SubmittedOrders").innerHTML = xmlhttp.responseText;
setTimeout(ajax_loop, 1000);
}
}
// Send AJAX request
xmlhttp.open("POST","getOrderStatus.php");
xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
xmlhttp.send("action=update");
}
ajax_loop();
</script>
<?php
}
getOrderStatus PHP 파일
<?php
// Query users table
$sql = "SELECT COUNT(STATUS) from CE_TRANSACTIONS where STATUS = 0;";
// Execute query
$result = mysqli_query($link, $sql);
// Loop through rows and draw table
while ($row = mysqli_fetch_assoc($result)) {
foreach ($row as $field) {
echo "$field";
}
}