Ich bekomme also immer den ersten Eintrag aus dieser Tabelle, aber es sind drei drin (ich schwöre). Die Alert-Response für den Erfolg und die Seite, auf die es geht, geben nur die erste zurück, so dass ich weiß, dass sie nichts zurückgibt. Hier ist mein Javascript.
var itemSeletor = angular.module('itemIndex', []);
itemSeletor.controller('EventController', function($scope, $http) {
$http.get("itemIndexAjax.php")
.then(
function(response) {
// Success
$scope.events = [response.data];
//alert(response.data.events[0].name);
},
function(response){
// Error
alert("Error!");
console.error(response);
}
);
});
Und hier ist mein PHP-Skript:
.....
$event_stmt = $mysqli->prepare("SELECT title, image, id FROM events");
if(!$event_stmt)
{
$sqlString = sprintf("SQL Query Prep Failed: %s\n", $mysqli->error);
echo json_encode(array("success" => false,
"message" => $sqlString));
exit;
}
$event_stmt->execute();
$event_stmt->bind_result($title, $image, $id);
$events = array();
while($event_stmt->fetch())
{
$this_event = array("name" => $title, "pic" => $image, "id"
=> $id);
array_push($events, $this_event);
}
$event_stmt->close();
echo json_encode(array("events" => $events));
exit;
?>
Könnte die ng-repeat sein.
<span id="imageAndText" ng-repeat="event in events | filter:query">
<a href="event.php?id=" + "{{event.id}}">
<img src="{{event.pic}}" id="image" alt="Image Not Found">
<span class=eventTitle">
{{event.name}}
</span>
</a>
</span>
nur zuweisen '$ scope.events = response.data.events ' –
Danke, es hat funktioniert. So ein kleiner Fehler – JMizzle