删除 php 中 for 循环中显示的特定 json 数据

Removing the specific json data displayed from for loop in php

提问人:krvvko 提问时间:1/31/2023 更新时间:1/31/2023 访问量:32

问:

我有一个 json 文件,其中包含一些数据,我使用 php foreach 在我的网站上显示这些数据。 为此,我需要 2 个函数:

  1. 添加新元素(我编码没有任何麻烦)
  2. 删除特定数据(我正在努力解决)

问题是 - 我不知道如何传递选定的元素 ID,因为 $_POST 获取输入的名称键,而我无法将其传递给动态函数。

这是我在html中显示数据的代码:

$index = 0;
foreach (json_decode($data) as $element) {
    $isDone = $element->isDone ? '+' : '-';
    
    echo $isDone ." ". $element->name . "<br>";
    echo "<form action='/operateJson.php'>";
    echo    "<input type='submit' value='-' style='background-color: red;' name='remove$index'>";
    echo "</form>";
    $index++;
}

它看起来像那样

enter image description here

这是我的动作代码

function addRow($row, $rowname): void
{
    $jsonData = file_get_contents($row);
    $data = json_decode($jsonData, true);
    $data[strval(count($data))] = array(
        'name' => strval($rowname),
        'isDone' => 0
    );
    $jsonData = json_encode($data, JSON_PRETTY_PRINT);
    file_put_contents('../db.json', $jsonData);
}

if (isset($_POST["1"])) {
    addRow("../db.json", $_POST["rownamefirst"]);
}

这是有效的,但我需要添加一个函数,该函数在单击红色按钮然后从 json 中删除所选元素后执行

php html json 输入

评论

0赞 CBroe 1/31/2023
使用 a 而不是 .Button 允许您将提交值与按钮的文本内容分开指定,因此对所有内容使用相同的名称,并将 ID 放入 value 属性中。buttoninput

答: 暂无答案