Задача: после нажатия на кнопку в таблицу добавляется элемент. Новый добавленный элемент отображается только после обновления страницы. Нужно чтоб с добавлением по клику на кнопку таблица обновлялась и не нужно было бы перезагружать страницу лишний раз.
app.controller('addUrlCtrl', function($scope, $http){
$scope.insertUrl = function(){
$http.post('../addlink.php',{'linkname': $scope.linkname, 'url': $scope.url})
.success(function(data, status, headers, config){
alert("Ссылка добавлена!");
});
}
});
app.controller('getUrlCtrl', function($scope, $http){
$http.get('../getlink.php').then(function(response){
$scope.urlData = response.data.records;
});
});
Код getlink.php :
<?php
session_start();
header("Access-Control-Allow-Origin: *");
header("Content-Type: application/json; charset=UTF-8");
$conn = new mysqli("localhost", "mysql", "mysql", "developer-note");
$result = $conn->query("SELECT linkname, url FROM linkbase WHERE username = '".$_SESSION['username']."'");
$outp = "";
while($rs = $result->fetch_array(MYSQLI_ASSOC)) {
if ($outp != "") {$outp .= ",";}
$outp .= '{"linkname":"' . $rs["linkname"] . '",';
$outp .= '"url":"'. $rs["url"] . '"}';
}
$outp ='{"records":['.$outp.']}';
$conn->close();
echo($outp);
?>
Код addlink.php :
<?php
require_once("connection.php");
$data = json_decode(file_get_contents("php://input"));
$linkname = mysql_real_escape_string($data->linkname);
$url = mysql_real_escape_string($data->url);
$urlquery = mysql_query("INSERT INTO linkbase (username, linkname, url) VALUES('".$_SESSION['username']."','$linkname', '$url')");
?>
html-код отображения таблицы:
<form ng-controller="addUrlCtrl" name="urlForm">
<h2>Добавить ссылку</h2>
<input type="text" name="linkname" placeholder="Наименование ссылки" ng-model="linkname">
<input type="url"name="url" placeholder="URL ссылки" ng-model="url">
<button ng-click="insertUrl()">Отправить</button>
</form>
<div ng-controller="getUrlCtrl">
<table>
<th>Имя ссылки</th>
<th>URL ссылки</th>
<tr ng-repeat="x in urlData | filter: search">
<td>{{ x.linkname }}</td>
<td><a href="{{x.url}}">{{ x.url }}</a></td>
</tr>
</table>
</div>