Я написал 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>
Формат JSON, который генерируется вышеуказанным PHP-кодом
[ { "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>
не является ли 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>"; }
Это способ работать с 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');