PHP CRUD - 更新功能

时间:2016-12-12 18:30:34

标签: php

我正在创建实现BindableCollection的{​​{1}}类。

我想要做的是在集合上方的CRUD操作(关联数组的数组)。我有所有的CRUD功能,但我缺乏更新功能,但不起作用。

代码

IBindableCollection

当我将public function updateFirstWhere($attr, $value, $updateCallback) { $i = 0; foreach($this->value as $data) { if($data[$attr] == $value) { call_user_func_array($updateCallback, $this->value[$i]); return; } $i++; } } (这是集合中的所有数据)传递给回调函数时,我做了类似的事情:

$this->value[$i]

我没有看到数据的变化。

我想将public function deleteThePerson($sender) { $this->collection->updateFirstWhere("id", $sender->data_id, function(&$data) { $data["name"] = "durisvk"; }); } 设置为name,但我不能。 请问任何想法?

1 个答案:

答案 0 :(得分:0)

    

</head>
<body>
    <?php
        // UPDATE CRUD element.
        $idc = -1;
        $naam = "";
        $merk = "";
        $typ = "";
        $kl = "";

        $con = new PDO ("mysql:host=localhost;dbname=cars_database", "root", "");
        $con->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

        if(isset($_GET["action"])) {
            if($_GET["action"] == "edit") {
                if($_SERVER["REQUEST_METHOD"] == "POST") {
                    $statement = $con->prepare("UPDATE cars_assigment SET Name=?, Brand=?, Type=?, Color=? WHERE Id = ?");

                        $statement->bindValue(1, $_POST["Name"]);
                        $statement->bindValue(2, $_POST["Brand"]);
                        $statement->bindValue(3, $_POST["Type"]);
                        $statement->bindValue(4, $_POST["Color"]);
                        $statement->bindValue(5, $_POST["Id"]);

                        $statement->execute();
                }


                $statement = $con->prepare("SELECT * FROM cars_assigment WHERE Id = ?");
                $statement->bindValue(1, $_GET["Id"]);  
                $statement->execute();

                $record = $statement->fetchObject();
                if($record != false) {
                    $idc =      $record-> Id;
                    $naam =     $record-> Name;
                    $merk =     $record-> Brand;
                    $typ =  $record-> Type;
                    $kl  =$record-> Color;
                }
            }
        }

    ?>


    <h1> Update </h1> 

        <form method="POST">
        ID:         <input type="text" name="Id" value="<?php echo $idc ?>"> 
        Naam:       <input type="text" name="Name" value="<?php echo $naam ?>"> 
        Brand:      <input type="text" name="Brand" value="<?php echo $merk ?>"> 
        Type:   <input type="text" name="Type" value="<?php echo $typ ?>"> 
        Color:  <input type="text" name="Color" value="<?php echo $kl ?>">
        <input name="Id" type="hidden" value="<?php echo $idc; ?>"> </input> 
        <input type="submit"  value="Save"> </input>
        </form>



</body>