Показать сообщение отдельно
  #1 (permalink)  
Старый 25.05.2015, 16:15
Интересующийся
Отправить личное сообщение для Paul_Wahtel Посмотреть профиль Найти все сообщения от Paul_Wahtel
 
Регистрация: 26.03.2015
Сообщений: 17

Angularjs + MySql помогите плс разобраться
Я делаю приложение, где надо добавлять, выводить, удалять и переписывать юзеров, с добавлением и выводом не возникает проблем а вот с удалением и изменением полная лажа, вот мой HTML с таблицей юзеров

<div class="container">
  <h2>Users</h2>      
  <table class="table table-condensed">
    <thead>
      <tr>
        <th>Id</th>
        <th>Name</th>
        <th>Telephone</th>
        <th>Email</th>
        <th>City</th>
        <th>Address</th>
        <th>State</th>
        <th>Zip code</th>
        <th>Delete user</th>
      </tr>
    </thead>
    <tbody ng-repeat="user in users">
      <tr>
        <td>{{user.id}}</td>
        <td>{{user.name}}</td>
        <td>{{user.telephone}}</td>
        <td>{{user.email}}</td>
        <td>{{user.city}}</td>
        <td>{{user.address}}</td>
        <td>{{user.state}}</td>
        <td>{{user.zip}}</td>
        <td><a class="btn btn-default" href="#/users?action=del&id={{user.id}}" ng-click="delete(user.id)" role="button">Delete &raquo;</a></td>
      </tr>
    </tbody>
  </table>
</div>


вот мой контроллер

app.controller('MainController', ['$scope', '$http', '$routeParams', function($scope, $http, $routeParams) {
	
	$http.get('server.php')
	.success(function(data) {
		$scope.users = data
	})
	.error(function(err) {
		console.log(err);
	});

	$scope.delete = function(id) {
		console.log(id);
	    $http.delete('server.php')
	    .success(function(data) {
			$scope.users = data
		})
		.error(function(err) {
			console.log(err);
		});
	  };
}]);


а вот сам сервер

<?php
define("DB_HOST", "localhost");
define("DB_LOGIN", "root");
define("DB_PASSWORD", "000000");
define("DB_NAME", "users");


mysql_connect(DB_HOST, DB_LOGIN, DB_PASSWORD);
mysql_select_db(DB_NAME);

if ($_SERVER['REQUEST_METHOD'] == "POST") {
  $data = json_decode(file_get_contents("php://input"));
  $name = mysql_real_escape_string($data->name);
  $email = mysql_real_escape_string($data->email);
  $telephone = mysql_real_escape_string($data->telephone);
  $city = mysql_real_escape_string($data->city);
  $address = mysql_real_escape_string($data->address);
  $state = mysql_real_escape_string($data->state);
  $zip = mysql_real_escape_string($data->zip);



  $sql = "INSERT INTO info(`name`, `email`, `telephone`, `city`, `address`, `state`, `zip`)VALUES(
   '".$name."', '".$email."', '".$telephone."', '".$city."', '".$address."', '".$state."', '".$zip."')";
  mysql_query($sql) or die(mysql_error());
} elseif ($_SERVER['REQUEST_METHOD'] == 'GET') {
    $result = mysql_query("select * from `info` ");

    $data = array();

    while ($row = mysql_fetch_array($result)) {
      $data[] = $row;
    }
        print json_encode($data);
    } 
    

    if(isset($_GET["del"])) {
      $id = abs((int)$_GET["id"]);
      if($id > 0)
      {
      $sql = "DELETE FROM `info`
              WHERE id = $id";
      mysql_query($sql) or die(mysql_error());
      }
    }

?>

по нажатию на ссылку не срабатывает запрос в БД, не пойму почему, вроде все корректно, по нажатию на ссылку в массив GET появляется элемент del, и запрос написан верно, я уже два дня ломаю голову, перерыл все, нигде не могу найти пример где бы показывали сервреную часть тоже, может кто то знает видео-уроки CRUD в angularjs?
Хотелось бы уже доделать это задание, не прошу делать за меня, лишь объясните где ошибка, спасибо.

Последний раз редактировалось Paul_Wahtel, 25.05.2015 в 16:17.
Ответить с цитированием