#javascript #php #angularjs
#javascript #php #angularjs
Вопрос:
у меня есть input
на моей странице, и его значение меняется с помощью
-
кнопок и, этот ввод содержит директиву ng-model
для передачи его значения в файл angular controller js, и внутри базы данных submit
MYSQL input
есть кнопка для значения
проблема в том, что каждый раз, когда я нажимаю submit
кнопку, значение, вставленное в базу данных, возвращает нулевое значение
Как я могу присвоить значение input
, которое изменяется с помощью кнопок, к ng-model
??
index.php файл :
<!-- October Evaluation Start -->
<div class="row">
<div class="card shadow mb-4" style="width: 900px;">
<div class="card-header py-3">
<div class="row">
<div class="col">
<h6 class="m-0 font-weight-bold text-primary">October evaluation</h6>
</div>
<div class="col"><button id="plus11" class="btn btn-info text-right">Add new</button>
</div>
</div>
</div>
<div class="card-body">
<form>
<div class="form-group">
<label for="exampleFormControlSelect1">select user</label>
<select class="form-control" id="exampleFormControlSelect1" ng-model="gid">
<?php
$con = mysqli_connect("localhost","root","","users");
$sql = mysqli_query($con, "SELECT name From myusers");
$row = mysqli_num_rows($sql);
while ($row = mysqli_fetch_array($sql)){
echo "<option value='". $row['name'] ."'>" .$row['name'] ."</option>" ;
}
?>
</select>
</div>
<br>
<table class="table table-hover">
<thead>
<tr>
<th scope="col">#</th>
<th scope="col">Evaluation</th>
</tr>
</thead>
<tbody>
<tr>
<th scope="row">1</th>
<td>
<div class="input-group">
<span class="input-group-btn">
<button type="button" class="btn btn-danger btn-number" data-type="minus" data-field="quant[2]">
<span><i class="fas fa-minus"></i></span>
</button>
</span>
<input type="text" id="trig" name="quant[2]" class="form-control input-number" value="1" min="1" max="5" ng-model="onoctober">
<span class="input-group-btn">
<button type="button" class="btn btn-success btn-number" data-type="plus" data-field="quant[2]">
<span><i class="fas fa-plus"></i></span>
</button>
</span>
</div>
</td>
</tr>
</tbody>
</table>
<input type="button" value="submit" class="btn btn-primary" ng-click="insertEval()" />
</form>
</div>
</div>
</div>
<!-- October Evaluation End -->
<br><br>
Файл js контроллера AngularJS:
var app = angular.module("myApp", []);
app.controller('userEval', function ($scope, $http) {
$scope.insertEval = function () {
$http.post(
"inserteval.php",
{
'gid': $scope.gid,
'onoctober': $scope.onoctober,
}).success(function (data) {
alert(data);
});
}
});
inserteval.php файл:
<?php
$connection = mysqli_connect("localhost","root","","users");
$data = json_decode(file_get_contents("php://input"));
if(count($data)>0)
{
$gid = mysqli_real_escape_string($connection,$data->gid);
$onoctober = mysqli_real_escape_string($connection,$data->onoctober);
$query = "INSERT INTO `myusers`(`name`, `on-october`) VALUES ('$gid','$onoctober')";
if(mysqli_query($connection,$query)){
echo "Done , new User added !";
}else {
echo "Error add !";
}
}
?>
Фотографии для иллюстрации:
Комментарии:
1. Вы не связали ng-app и ng-controller в своем HTML-шаблоне. Попробуйте добавить
<div class="row" ng-app="myApp" ng-controller="userEval"> ... </div>
к родительскому элементу шаблона HTML.
Ответ №1:
В поддержку @Sujay Subrahmanya вы должны сообщить своему html-файлу, что он является частью какого приложения и какого контроллера. Вот синтаксис для его информирования
<body ng-app="myApp" ng-controller="userEval">
<!-- Put your index.php content -->
</body>