Php 如何在删除内容时将用户限制为自己的资产

Php 如何在删除内容时将用户限制为自己的资产,php,mysql,angularjs,Php,Mysql,Angularjs,我编写了一个小应用程序,其中包含用户群和分配给他们的资产。 现在,我正在尝试编写一个函数,该函数只在用户未分配给资产时从数据库中删除记录 装载资产 加载用户 删除函数 我从以下选项中选择用户: 乌苏伊特科夫尼卡 威比尔兹 乌苏伊特科夫尼卡 removeuser.php $data=json\u解码(文件获取内容)php://input")); $id=$data->id_pracownika; $conn=newmysqli($servername、$username、$password、$

我编写了一个小应用程序,其中包含用户群和分配给他们的资产。 现在,我正在尝试编写一个函数,该函数只在用户未分配给资产时从数据库中删除记录

装载资产

加载用户

删除函数

我从以下选项中选择用户:


乌苏伊特科夫尼卡
威比尔兹
乌苏伊特科夫尼卡
removeuser.php

$data=json\u解码(文件获取内容)php://input"));
$id=$data->id_pracownika;
$conn=newmysqli($servername、$username、$password、$dbname);
//检查连接
如果($conn->connect\u错误){
die(“连接失败:”.$conn->connect\U错误);
}
$sql=“从pracownicy中删除,其中id_pracownik=”“$id.”;
if($conn->query($sql)==TRUE){
呼应“乌苏尼对波普拉尼”;
}否则{
echo“Błąd:.$sql.”
“$conn->错误; } $conn->close();
现在,我可以从数据库中删除用户,即使他们被分配到资产,但我想保护此应用程序不受此影响


你能帮我处理这个案子吗?感谢您的帮助:)

您应该在删除查询之前进行一个新查询,该查询将检查用户是否有任何资产

SELECT COUNT(*) FROM assets WHERE id_user = ?;
然后,您可以将该结果存储在计数器中,并使用它来限制是否可以执行删除操作

if(counter==0){
  console.log("No items were deleted");
 }else{
 DELETE FROM....
   }

你的问题与php有关,与angularjs没有直接关系。您需要询问如何将您的用户限制为他们自己的资产。您需要根据这些术语修改您的问题。也许您应该解释如何将用户分配给资产?数据库中的作业是如何完成的?什么代码检查分配?在MysQL DB中,我有两个表:资产和用户。在specific asset(特定资产)中,我输入了用户ID。但我不知道如何编写一个函数来检查该分配。您要做的是获取已登录的用户,并检查资产是否具有已登录用户的用户ID。但在不了解更多项目的情况下,这是人们能给予的最大帮助
$scope.usunUsera = function(s) {  
if (confirm("Na pewno?")) {
$http.post("/ewidencja/dbs/removeuser.php", {
  'id_pracownika': s
  }).then(function(response) {
    alert("Usunięto");
    }, function(error) {
      alert("Błąd! Dane nie dodane!");
      console.error(error);
    }); 
 } }
<div class="col-sm-6">
    <h5>Usuń użytkownika</h5>
    <div class="form-group">
      <select ng-model="idPracownika" class="form-control" ng-options="ludzie.idPracownik as ludzie.NazwaPracownika for ludzie in pracownicy"><option value="" selected="selected">Wybierz</option></select>
    </div>
    <button class="btn btn-danger" ng-click="usunUsera(idPracownika)">Usuń użytkownika</button>
  </div>
$data = json_decode(file_get_contents("php://input"));
$id = $data->id_pracownika;
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
$sql = "DELETE FROM pracownicy WHERE id_pracownik='".$id."'";
if ($conn->query($sql) === TRUE) {
echo "Usunięto poprawnie";
} else {
echo "Błąd: " . $sql . "<br>" . $conn->error;
}
$conn->close();
SELECT COUNT(*) FROM assets WHERE id_user = ?;
if(counter==0){
  console.log("No items were deleted");
 }else{
 DELETE FROM....
   }