首页 > 解决方案 > 如何在特定条件下在表格上添加特定的编辑按钮?

问题描述

仅当数据库中的状态为“已满”时,我才想在数据中显示“编辑”按钮;

在下面的代码中,我为每个状态动态添加了一个编辑按钮。我想要实现的是仅将Edit按钮添加到值为Fullonly 的状态。假设我的数据库中有两个数据,一个是 Status Full,另一个是Available。如何将编辑按钮添加到Full只有数据的状态。这可能吗?请帮忙。

我已经使用 echo 尝试过这个,但它似乎是一种不正确的语法。

<?php 
echo "" ."<?php if($row['status'] == Full) { <a class='editname' href='editnames.php?did=".$row['nameid']."'>Edit</a> } ?>". "";
?>

这在php代码中可行吗?

<?php
include "includes/connection.php";
session_start(); // start a session

// query from db
$sql = $connection->prepare('SELECT nameid, name2, name3, name4, status FROM names');
$sql->execute(); // execute query
$result = $sql->get_result(); // fetch result

if ($result->num_rows > 0) {
    echo "<tr><th>Name 1</span></th><th>Name 2</th><th>Name 3</th><th>Name 4</th><th>Status</th><th></th></tr>";
    // output data of each row
    while($row = $result->fetch_assoc()) {
        echo "<tr><td>" .$row["nameid"]. "</td><td>" .$row["name2"]. "</td><td>" .$row["name3"]. ", " .$row["name4"]. "</td><td>" .$row["status"]. "</p></td><td>" ."<a class='editname' href='editnames.php?did=".$row['nameid']."'>Edit</a>". "</td></tr>";
    }
} else {
    echo "0 results";
}

?>

标签: phpmysql

解决方案


您可以while像这样在循环中设置条件状态:

while($row = $result->fetch_assoc()) {
    $status = $row["status"] == 'Full' ? "<a class='editname' href='editnames.php?did=".$row['nameid']."'>Edit</a>" : "";
    echo "<tr><td>" .$row["nameid"]. "</td><td>" .$row["name2"]. "</td><td>" .$row["name3"]. ", " .$row["name4"]. "</td><td>" .$row["status"]. "</p></td><td>" . $status . "</td></tr>";
}

推荐阅读