Very new to angular - just exploring at the moment. Would be very grateful for a pointer or two as to where I am going wring here - TIA
What I would like to do is take data from a mysql select query and return it into an html page, using json and then have angular to display it. Have succeeded in returning the data using JSON_encode - ran it through jsonlint and it has come back as fine. For testing, I then took this string and created a text file, and ran it through the angular file - it works fine.
If I call the data direct from the php file it fails, but if I call the data from a static text file (with what appears to be the same output as the php data) it works.
I am sending the data with echo - is this correct?
$json=json_encode($main_arr);
echo $json;
json output:
[{"custcode":"CMZIG001","cli":"0020\/1"},{"custcode":"CMZIG002","cli":"0020\/2"},{"custcode":"CMZIG003","cli":"0020\/3"},{"custcode":"999","cli":"002871365801"},{"custcode":"CMSLE001","cli":"0030"},{"custcode":"CMNIC001","cli":"0034"},{"custcode":"CMLIF001","cli":"0047"},{"custcode":"CMTON01101","cli":"0087\/1"},{"custcode":"CMTON01102","cli":"0087\/2"},{"custcode":"CMTRE001","cli":"0090"}]
Text file contents:
[{"custcode":"CMZIG001","cli":"0020\/1"},{"custcode":"CMZIG002","cli":"0020\/2"},{"custcode":"CMZIG003","cli":"0020\/3"},{"custcode":"999","cli":"002871365801"},{"custcode":"CMSLE001","cli":"0030"},{"custcode":"CMNIC001","cli":"0034"},{"custcode":"CMLIF001","cli":"0047"},{"custcode":"CMTON01101","cli":"0087\/1"},{"custcode":"CMTON01102","cli":"0087\/2"},{"custcode":"CMTRE001","cli":"0090"}]
In response to comments:
OK - I had hoped not to bore you with my code. An html file as below (I will try to format it correctly)
<!doctype html>
<html ng-app="App">
<head>
<meta charset="utf-8">
<title>CLIs http</title>
<link rel="stylesheet" href="style.css">
<script>document.write("<base href=\"" + document.location + "\" />");</script>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.0.2/angular.js">
</script>
<script src="app.js"></script>
</head>
<body ng-controller="TodoCtrl">
<ul>
<li ng-repeat="cli in cli">
{{cli.custcode}} - <em>{{cli.cli}}</em>
</li>
</ul>
</body>
</html>
app.js - currently set to call a php file on my server
var App = angular.module('App', []);
App.controller('TodoCtrl', function($scope, $http) {
$http.get('http://localhost/t5/clis.json')
//$http.get('njs.json')
.then(function(res){
$scope.cli = res.data;
});
});
clis.json (the php file on my server)
$con = mysql_connect("localhost","root","password");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
$db='mutuxf';
mysql_select_db($db, $con);
$result = mysql_query("SELECT custcode, cli FROM clis limit 10");
while($row = mysql_fetch_assoc($result))
{
foreach($row as $key => $value)
{ $arr[$key] = $value; }
$main_arr[] = $arr;
}
$json=json_encode($main_arr);
echo $json;
?>
When I use the php file to raise the data, I merely get a bulleted list with no text, but when I use the text file (njs.json) the page works correctly.