|
|
|
สอบถามการรับค่าจากฐานข้อมูลแบบ json โดยใช้ jquery รับค่า แล้วไม่แสดงผล |
|
|
|
|
|
|
|
ตามหัวเรื่องเลยครับ มันไม่แสดงข้อมูล ถ้าส่งมาแค่ค่าเดียวอะได้แต่ส่งมาหลายค่าแบบ json แสดงค่าไม่ได้
Code (JavaScript)
<script type="text/javascript">
$(document).ready(function(){
$("#amount").keyup(function(){
var amount = $("#amount").val();
var type = $("#type").val();
$.ajax({
type:"post",
url:"data.php",
//dataType: "json",
data:"action=getdata&amount="+amount+"&type="+type,
beforeSend: function(){
$('#data').html('<img src="image/fbloader.gif"></img> กำลังโหลด...');
},
success:function(data){
//alert(data);
setTimeout(function(){
//$("#data").html(data);
var obj = jQuery.parseJSON(data);
$("#data").append(obj.name + '<br />');
$("#alert-data").append(obj.id + '<br />');
},1000);
},
error: function(){
$('#data').html('เกิดข้อผิดพลาด!!');
}
});
});
});
</script>
Code (PHP)
<?php
include 'connect.php';
$status = 'Y';
$amount = htmlspecialchars($_POST['amount']);
$type = htmlspecialchars($_POST['type']);
try {
if (isset($_POST['action']) && $_POST['action'] == 'getdata') {
$data = $db->prepare('SELECT list,status,machine_id FROM tbl_machine WHERE status = :status AND type = :type LIMIT :amount');
$data->bindParam(':status',$status, PDO::PARAM_STR);
$data->bindParam(':type',$type, PDO::PARAM_STR);
$data->bindParam(':amount',$amount, PDO::PARAM_INT);
$data->execute();
while ($fetch = $data->fetch(PDO::FETCH_ASSOC)) {
//echo "<li>".$fetch['list']."</li>";
$json =array("id"=>$fetch['machine_id'],"name"=>$fetch['list']);
//header('Content-type: application/json');
echo json_encode($json);
}
}
else {
echo "ไม่มีเครื่องว่าง";
}
}
catch(PDOException $e) {
echo 'ERROR: ' . $e->getMessage();
}
?>
Tag : PHP, MySQL, HTML/CSS, JavaScript, Ajax, jQuery
|
|
|
|
|
|
Date :
2016-06-24 21:34:45 |
By :
littlebeer |
View :
2561 |
Reply :
3 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Code (PHP)
$json=array();
while ($fetch = $data->fetch(PDO::FETCH_ASSOC)) {
$json[] =array("id"=>$fetch['machine_id'],"name"=>$fetch['list']);
}
echo json_encode($json);
Code (JavaScript)
success:function(data){
var obj = jQuery.parseJSON(data);
$(obj).each(function(idx,ele)){
$("#data").append(ele.name + '<br />');
$("#alert-data").append(ele.id + '<br />');
});
},
|
|
|
|
|
Date :
2016-06-25 05:15:31 |
By :
Chaidhanan |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
console.log(data) ดูสิว่าส่งค่ามาหรือไม่
ถ้าไม่ก็กลับไปดู php, json_encode
|
|
|
|
|
Date :
2016-06-25 09:17:46 |
By :
fossil31 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Code (PHP)
$("#alert-data").append(ele.id + '<br />');
จากบรรทัดนี้ครับ พอแสดงผลแล้ว ใส่ข้อมูลก็ขึ้น id ต่อกัน ๆ เรื่อย ๆ ใส่ข้อมูลใหม่ก็ขึ้นต่อกันเหมือนเดิม แต่ ele.name ก็ปกติ มีวิธีแก้มั้ยครับ
|
|
|
|
|
Date :
2016-06-25 11:26:34 |
By :
littlebeer |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 00
|