php - 多个表,其中只有 2 个

标签 php html css

我有一个任务管理器网站,欢迎页面应该有 2 个表:1 个包含未完成的任务,另一个包含已完成的任务。 取而代之的是,它会在我每次添加任务(完成或未完成)时创建一个新表。

我试过将一些表格代码移动到页面的其他部分。

<head>
    <title> Welcome!</title>
    <meta charset = "UTF-8">
</head>

<body>
    <div align = "right" style = " font-size:12px;"><h2>
    <p> Welcome <?php echo ' '.$login_session.'<br>'; ?>
    <a href = "logout.php"> Log out (<i> out </i>) </a></p></h2>
    </div>

    <?php $tasks = DBRead($login_session)?>
    <h1> List of tasks</h1>
<?php
    foreach($tasks as $cl){
        date_default_timezone_set('UTC');
        $date = date('m/d/Y h:i:s a', time());
        $dayoftask = $cl['completed_at'];

        if($dayoftask < $date){
            echo "
                <table width=100% border=1>
                    <tr> 
                    <td align=center>Name</td>
                    <td align=center>Description</td>
                    <td align=center>Create At</td>
                    <td align=center>Created By</td>
                    <td align=center>Completed At</td>
                    <td align=center>Edit</td>
                    <td align=center>Delete</td> 
                    </tr>
                    <tr>
                    <td align=center>".($cl['name'])."</td>
                    <td align=center>".($cl['description'])."</td>
                    <td align=center>".($cl['created_at'])."</td>
                    <td align=center>".($cl['username'])."</td>
                    <td align=center>".($cl['completed_at'])."</td>";
?>
            <td><a href="alterar.php?id=<?=$cl['id_task']?>">&#8634;</a></td>
            <td><a href="eliminar.php?id=<?=$cl['id_task']?>" onclick="return confirm('Tem a certeza que pretende eliminar o registo?')">x</a></td>
            </tr>
<?php
            echo"</table><br>";
        }else{
            echo"<table width=100% border=1>
            <tr> 
            <td align=center>Name</td>
            <td align=center>Description</td>
            <td align=center>Create At</td>
            <td align=center>Created By</td>
            <td align=center>Completed At</td>
            <td align=center>Edit</td>
            <td align=center>Delete</td> 
            <tr>
            <td align=center>".($cl['name'])."</td>
            <td align=center>".($cl['description'])."</td>
            <td align=center>".($cl['created_at'])."</td>
            <td align=center>".($cl['username'])."</td>
            <td align=center>".($cl['completed_at'])."</td>                
            </table>";
        }
    } 
?>
    <br>
    <a href="registar.html"> <input type="button" name="" value="Create Task"></a>
</body>
</html>

我希望有两个表,每个表都由已完成和未完成的任务填充,但它会为每个任务创建一个新表。

最佳答案

Akash 建议,移动创建 <table> 的代码在循环之外,类似于:

<h1> List of tasks</h1>
    <?php

    echo "
        <table width=100% border=1>
            <tr> 
            <td align=center>Name</td>
            <td align=center>Description</td>
            <td align=center>Create At</td>
            <td align=center>Created By</td>
            <td align=center>Completed At</td>
            <td align=center>Edit</td>
            <td align=center>Delete</td> 
            </tr>";

    foreach($tasks as $cl){
        date_default_timezone_set('UTC');
        $date = date('m/d/Y h:i:s a', time());
        $dayoftask = $cl['completed_at'];

        if($dayoftask < $date) {
            echo "<tr>
                <td align=center>".($cl['name'])."</td>
                <td align=center>".($cl['description'])."</td>
                <td align=center>".($cl['created_at'])."</td>
                <td align=center>".($cl['username'])."</td>
                <td align=center>".($cl['completed_at'])."</td>";
                ?>
                <td><a href="alterar.php?id=<?=$cl['id_task']?>">&#8634;</a></td>
                <td><a href="eliminar.php?id=<?=$cl['id_task']?>" onclick="return confirm('Tem a certeza que pretende eliminar o registo?')">x</a></td>
                </tr>
        } else {
            echo"<tr>
                <td align=center>".($cl['name'])."</td>
                <td align=center>".($cl['description'])."</td>
                <td align=center>".($cl['created_at'])."</td>
                <td align=center>".($cl['username'])."</td>
                <td align=center>".($cl['completed_at'])."</td></tr>";
        }
    } 

    <?php
        echo"</table><br>";     
    ?>

关于php - 多个表,其中只有 2 个,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55336329/

相关文章:

css - 更改链接 CSS 颜色而不更改 :hover color

php - 读取Excel数据(Rich Excel Data)

javascript - 使用 Jquery 删除附加数据

html - 在 Bootstrap 3 中将缩略图水平居中对齐

wordpress - 页脚画廊是垂直的而不是网格

javascript - 更改 anchor 链接文本大小和颜色

PHP计数问题?

php - PHP 中的 HTML 净化

php - 从 mysql 获取复杂数据并使用 php 显示它们

javascript - 在javascript中隐藏按钮