使用while循环编辑来自mysql元素的特定表内容

时间:2018-09-11 14:02:03

标签: php html

我有一张桌子,上面有不同情况的信息。我建立了一个页面,显示未解决的“未决”案件。打开的案例已分配了默认用户,这意味着它并不专用于任何人。它还具有一个状态值,该值确定案件是否已解决。在打开的案例页面中,仅显示具有默认用户和案例状态为“未解决”的案例。另一页显示“我的案件”。该页面显示与登录用户有关的未解决案例。为了显示未结案件,我这样做:

<?php
if ($result = mysqli_query($link, $sqlasget)) {
    if (mysqli_num_rows($result) > 0) {
        while ($row = mysqli_fetch_array($result)) {
            echo "<div class='divelementlasse' id='" . $row['case_id'] . "'>";
            echo "<h3 class='divphh3'>" . $row['kunde_navn'] . "</h3>";
            echo "<h5 class='divphh5'>" . $row['case_adresse'] . "</h5>";
            echo "<p>" . $row['case_kommentar'] . "</p>";
            echo "<form action='" . htmlspecialchars($_SERVER['PHP_SELF']) . "' method='post'><input type='submit' class='tasak' name='" . $row['case_id'] . "' value='Ta sak" . $row['case_id'] . "'></input>";
            echo "</div>";
        }
        mysqli_free_result($result);
    } else {
        echo "<div class='divelementlasse'>";
        echo "<h3 class='divphh3'>Ingen elementer å vise.</h3>";
        echo "</div>";
    }
} else {
    echo "ERROR: Could not be able to execute $sql. " . mysqli_error($link);
}
?>

这用于显示案例。我的问题是按钮。当用户点击“ ta sak”时,我想将该特定情况的用户更改为登录用户。基本上就是这样:当用户点击显示的一个案例的“提交”按钮时,该案例将“转移”到“我的案例”中。我不想使用Ajax,但是如果那是唯一的解决方案,那就去吧。

1 个答案:

答案 0 :(得分:1)

所以我自己修复了。我更改了

<input type='submit' class='tasak' name='" . $row['case_id'] . "' value='Ta sak" . $row['case_id'] . "'></input>

<button type='submit' class='tasak' name='submit' value='".$row['case_id']."'>Ta sak</button>

后处理程序是这样的:

if($_SERVER["REQUEST_METHOD"] == "POST"){
    if(isset($_POST['submit'])){
        mysqli_query($link, "UPDATE case SET user_id='".$userid."' WHERE case_id='".$_POST['submit']."'")
        }else{
            $error = "ERROR: Could not execute $sql. " . mysqli_error($link);
        }
    }
}

当我将while循环创建的所有提交输入的名称更改为同一事物时,可以使用一个函数。然后,我尝试将输入的值设置为case_id,以便$_POST['submit']返回该值。但是随后提交按钮上的文本更改为该值,所以我改用按钮,瞧。