我已经编写了PHP代码来生成json数据,现在我们必须将这个json数据显示到表中。我的php代码能够生成数据但无法插入表格,请帮我解决此问题。
我的php代码生成json数据booking.php
<?php
header('Access-Control-Allow-Origin: *');//Should work in Cross Domaim ajax Calling request
mysql_connect("localhost","root","2180");
mysql_select_db("service");
$query="Select * from customer where services='2'";
$result=mysql_query($query);
if ( $result === false ) {
die("Can\'t do that: " . mysql_error());
}
$retVal = array();
//MYSQL_ASSOC remove key =field identifier
while( $row = mysql_fetch_array( $result, MYSQL_ASSOC ) ) {
$retVal[] = $row;
}
echo json_encode( $retVal );
我的javascript将json数据打印到表格
<script>
function fetchData1(){
$(".data-contacts1-js tbody").empty();
$.get("http://localhost/service/newJobs.php", function(data) {
$.each(data, function(i, contact) {
$(".data-contacts1-js").append(
"<td>" + contact.cust_name + "</td>" +
"<td>" + contact.cust_mobile + "</td>" +
"<td>" + contact.cust_email + "</td>" +
"<td>" + contact.cust_address + "</td>" +
);
});
});
}
$(document).ready(function(){
$(".data-contacts1-js tbody").empty();
$('#fetchContacts1').click(function() {
fetchData1();
});
});
</script>
由上面的php代码生成的JSON格式
[
{
"cId": "65",
"address1": "PWD Road, B Narayanapura, Bengaluru, Karnataka, India",
"address2": "JSS Layout, Mysore, Karnataka, India",
"city": "Bangalore",
"comments": "ds",
"email": "you@gmail.com",
"landMark": "PWD Road, B Narayanapura, Bengaluru, Karnataka, India",
"scheduledDate": "13-Feb-2015",
"scheduledTime": "10:30 AM",
"services": "2",
"userContactNumber": "1220000000",
"userName": "Gajendra"
}
]
表格的HTML代码
<div class="row-fluid">
<!-- block -->
<div class="block">
<div class="navbar navbar-inner block-header">
<div class="muted pull-left">Carpenter Services</div>
</div>
<div class="block-content collapse in">
<div class="span12">
<table class="data-contacts1-js table table-striped" >
<thead>
<tr>
<th>ID</th>
<th>Customer Name</th>
<th>Customer Mobile</th>
<th>Customer Email</th>
<th>Address</th>
<th>Date</th>
<th>Time</th>
<th>Status</th>
</tr>
</thead>
<tbody>
</tbody>
</table>
</div>
<button id="fetchContacts1" class="btn btn-default" type="submit">Refresh</button>
</div>
</div>
<!-- /block -->
</div>
答案 0 :(得分:0)
不是php打印表格的选项吗?如果是的话,你可以只回显foreach循环中的表行,那就是它:
while( $row = mysql_fetch_array( $result ) ) {
$retVal[] = $row;
}
变得类似
while( $row = mysql_fetch_array( $result ) ) {
$table_row .= "
<tr>
<td>$row['cust_name']</td>
<td>$row['cust_mobile']</td>
<td>$row['cust_email']</td>
<td>$row['cust_address']</td>
</tr>";
}
答案 1 :(得分:0)
这是一种使用JavaScript
的方法 function fetchData1(){
$(".data-contacts1-js tbody").empty();
$.get("http://localhost/service/newJobs.php", function(data) {
data=JSON.parse(data); //if the server returns text instead JSON object
for(var i in data){
var tr=$("<tr></tr>");
tr.append("<td>" + data[i].cust_name + "</td>" +
"<td>" + data[i].cust_mobile + "</td>" +
"<td>" + data[i].cust_email + "</td>" +
"<td>" + data[i].cust_address + "</td>");
$(".data-contacts1-js tbody").append(tr);
}
});
}
$(document).ready(function(){
$(".data-contacts1-js tbody").empty();
$('#fetchContacts1').click(function() {
fetchData1();
});
});
在服务器脚本(php)上添加第一行
header('Content-type: application/json');