桌子上没有结果

时间:2019-06-21 21:42:39

标签: php mysqli

我喜欢检索mysql结果并分配给变量($ status) 并根据结果我想输入ok或ko(在这种情况下,如果$ status为“ Active”,则结果为“ ok”)

问题似乎出在将结果显示到td中但看不到其他东西时。 有人可以帮忙吗?

    if(mysqli_num_rows($result) > 0)
    {
        $number = 1;
    while($row = mysqli_fetch_assoc($result))
    {
        $status = strtolower($row['register_status']);

        $data .= '<tr>
                        <td>'.$row['id'].'</td>
                        <td>'.$row['first_name'].'</td>
                        <td>'.$row['last_name'].'</td>
                        <td>'.$row['email'].'</td>
                        <td>'
                        if ($status == "Active") {
                                echo "OK";
                        }
                        else {
                                echo "KO";
                        }
                        '</td>

                        <td width="1%">
                                <div class="dropdown">
                                 <button class="btn btn-default dropdown-toggle" type="button" data-toggle="dropdown">Actions
                                 <span class="caret"></span></button>
                                 <ul class="dropdown-menu">
                                    <li onclick="GetUserDetails('.$row['id'].')"><a href="#">Update</a></li>
                                    <li onclick="DeleteUser('.$row['id'].')"><a href="#">Delete</a></li>
                                 </ul>
                                 </div>
                         </td>
                  </tr>';```


The idea is change in the future the echo for an image or a div content

2 个答案:

答案 0 :(得分:1)

与其使用echo(将在其余HTML之前输出“ OK”或“ KO”),而是尝试在创建HTML之前确定是否需要“ OK” /“ KO”。

您也可以添加图像或div或任何您想要的内容,而不是“ OK”或“ KO”。

然后只需将此$value连接到您的字符串,就像您在处理td的其余部分一样

if(mysqli_num_rows($result) > 0)
    {
        $number = 1;
    while($row = mysqli_fetch_assoc($result))
    {
        $status = strtolower($row['register_status']);
        if ($status == "active") {
            $value = "<div>Other Content</div>";
        }
        else {
            $value = "<img src='http://example.com/img.jpg'>";
        }
        $data .= '<tr>
                        <td>'.$row['id'].'</td>
                        <td>'.$row['first_name'].'</td>
                        <td>'.$row['last_name'].'</td>
                        <td>'.$row['email'].'</td>
                        <td>'.$value.'</td>

                        <td width="1%">
                                <div class="dropdown">
                                 <button class="btn btn-default dropdown-toggle" type="button" data-toggle="dropdown">Actions
                                 <span class="caret"></span></button>
                                 <ul class="dropdown-menu">
                                    <li onclick="GetUserDetails('.$row['id'].')"><a href="#">Update</a></li>
                                    <li onclick="DeleteUser('.$row['id'].')"><a href="#">Delete</a></li>
                                 </ul>
                                 </div>
                         </td>
                  </tr>';

答案 1 :(得分:0)

第一件事,您正在将状态转换为小写,然后尝试与“有效”进行比较。它总是每次都会给您错误的答案。

除了使用echo之外,您可以先将status的值放入一个变量中,然后尝试在表格下进行设置。它将为您工作。

if ($status == "active") {
    $status = "OK";
}
else {
    $status = "KO";
}
$data .= '<tr>
<td>'.$row['id'].'</td>
<td>'.$row['first_name'].'</td>
<td>'.$row['last_name'].'</td>
<td>'.$row['email'].'</td>
<td>'.$status.'</td>

<td width="1%">
        <div class="dropdown">
         <button class="btn btn-default dropdown-toggle" type="button" data-toggle="dropdown">Actions
         <span class="caret"></span></button>
         <ul class="dropdown-menu">
            <li onclick="GetUserDetails('.$row['id'].')"><a href="#">Update</a></li>
            <li onclick="DeleteUser('.$row['id'].')"><a href="#">Delete</a></li>
         </ul>
         </div>
 </td>
</tr>';