Обновите отдельные записи MySQL на флажке Click with AngularJS

0

Я создаю приложение для регистрации в турнирах по гольфу и хочу иметь возможность обновлять отдельную запись в базе данных MySQL при щелчке по галочке. Поэтому, когда кто-то проверяет, они нажимают флажок по их имени, и я хочу, чтобы он затем обновил запись базы данных этого человека (установленный в столбце, установленный в 1 для конкретного идентификатора человека), чтобы другие могли видеть, что человек проверяется почти сразу.

Я не уверен, как получить как id, так и значение checkedin для обновления только затронутой записи при щелчке по галочке.

app.js

var checkinApp = angular.module('checkinApp', []);

checkinApp.controller('checkinController', function($scope, $http, $location, $anchorScroll) {

$http.get('lib/api.php').success(function(data) {
    $scope.checkindata = data;
});


$scope.processForm = function(checkedindata) {
    $http.post('lib/process.php', { gid : checkedindata.gid, checkedin : checkedindata.checkedin })
      .then(function(data) {
        console.log(data);
       })
  };

});

HTML/вывода

<table class="table table-striped table-responsive">
    <tbody>
                <tr>
                    <th>Checked In</th>
                    <th>First Name</th>
                    <th>Last Name</th>
                    <th>Company</th>
                    <th>Starting Hole</th>
                </tr>
                <tr ng-repeat="item in checkindata">
                    <td><input type="checkbox" name="checkedin" ng-model='checkedin' ng-change='processForm(checkedindata)' ng-checked="item.checkedin == 1"/></td>
                    <td>{{item.fname}}</td>
                    <td>{{item.lname}}</td>
                    <td>{{item.cname}}</td>
                    <td>{{item.hole}}</td>
                </tr>
    </tbody>
</table>

process.php

<?php
require_once('../includes/cred.php');


$checkedin = $_POST['checkedin'];

$sth = $dbh->prepare("UPDATE golfers SET checkedin=$checkedin");
$sth->execute();

Таблица DB DB DB

Выходной выход

Теги:
checkbox

1 ответ

1

Просто замените ng-change='processForm(checkedindata)'

по ng-change='processForm(item)'

и в вашем PHP-коде сделать что-то вроде:

$sth = $dbh->prepare("UPDATE golfers SET checkedin=$checkedin->checkedin WHERE gid=$checkedin->gid");

Ещё вопросы

Сообщество Overcoder
Наверх
Меню