繁体   English   中英

我如何创建图片上的 html 表格

[英]how do i create html table like on the picture

我有一个 3 表,我在下面的输出中进行内部连接在此处输入图片说明

我怎样才能达到这样的目标在此处输入图片说明

到目前为止,我已经有了扩展行的代码。 这里真正的问题是我如何获得每个 tracknum 的所有签名。 我使用 php 和 html

这是我的代码

                    <table  class="table table-bordered ">
                    <thead>
                      <tr>
                    <th>Track Number</th>
                    <th>Document Title</th>
                    <th>Document Type</th>
                    <th>Date Filled</th>
                    <th> </th>
                      </tr>
                    </thead>
                <?php while ($r = $q->fetch()): ?>
                        <tr>
                            <td><?php echo $r['tracknum'] ?></td>
                            <td><?php echo $r['doctitle'] ?></td>
                            <td><?php echo $r['doctype'] ?></td>
                            <td><?php echo $r['datefilled'] ?></td>
                             <td>
                             <a href="#"><span class="btnshow glyphicon glyphicon-plus-sign"></span></a>

                             </td>

                        </tr>
                        <tr><td colspan="5"><p><?php echo $r['signatoryname'] ?></p>
                        </td></tr>
                <?php endwhile; ?>

                </table> 

用于展开表格

<script type='text/javascript'>//<![CDATA[
$(window).load(function(){
$(function() {
    $("td[colspan=5]").find("p").hide();
    $("table").click(function(event) {
        event.stopPropagation();
        var $target = $(event.target);
        if ( $target.closest("td").attr("colspan") > 1 ) {
            $target.slideUp();
        } else {
            $target.closest("tr").next().find("p").slideToggle();
        }                    
    });
});
});//]]> 

</script>

这是代码的输出

在此处输入图片说明 我需要按 tracknum 对下面的数据进行分组,但我需要 signatoryname 我希望 html 行是可扩展的,并在下面列出该 tracknum 的 signatoryname。 谢谢。

更新:到目前为止这是我的代码

更新:下面是正确的代码:

<?php
                require_once 'dbconfig.php';
                try {
                    $conn = new PDO("mysql:host=$host;dbname=$dbname",
                            $username, $password);
                    // execute the stored procedure
                    $sql = 'CALL sp_trasactionsignatory()';
                    $q = $conn->query($sql);
                    $q->setFetchMode(PDO::FETCH_ASSOC);
                } catch (PDOException $pe) {
                    die("Error occurred:" . $pe->getMessage());
                }
                ?>                  
                <table  class="table table-bordered ">
                    <thead>
                      <tr>
                    <th>Track Number</th>
                    <th>Document Title</th>
                    <th>Document Type</th>
                    <th>Date Filled</th>
                    <th> </th>
                      </tr>
                    </thead>
                <?php while ($r = $q->fetch()): ?>
                        <tr>
                            <td><?php echo $r['tracknum'] ?></td>
                            <td><?php echo $r['doctitle'] ?></td>
                            <td><?php echo $r['doctype'] ?></td>
                            <td><?php echo $r['datefilled'] ?></td>
                             <td>
                             <a href="#"><span class="btnshow glyphicon glyphicon-plus-sign"></span></a>

                             </td>

                        </tr>
                        <tr><td colspan="5">


                        <?php 


                        require_once 'dbconfig.php';
                        try {

                        $conn = new PDO("mysql:host=$host;dbname=$dbname",
                            $username, $password);

                        $_tempp1 = $r['tracknum'];
                        $stmt = $conn->prepare("CALL sp_gettransactsignatory(?)");
                        $stmt->bindParam(1, $_tempp1, PDO::PARAM_STR, 30); 
                        $stmt->execute();
                        while ($row = $stmt->fetch(PDO::FETCH_ASSOC)){
                            echo "<p>" . $row['signatoryname'] . "</p>";
                        }

                        } catch (PDOException $pe) {
                    die("Error occurred:" . $pe->getMessage());
                }

                        ?>


                        </td></tr>
                <?php endwhile; ?>

                </table> 

问题:

如何获取每个 tracknum 的所有签名人姓名?

解决方案:

你的第一个初始查询是这样的,

(由于您没有提供表名,请从以下查询中更改表名)

$q = $connection->query("SELECT tracknum, doctitle, doctype, datefilled FROM tablename GROUP BY tracknum"); 

然后来到你的餐桌,

<table  class="table table-bordered ">
<thead>
<tr>
    <th>Track Number</th>
    <th>Document Title</th>
    <th>Document Type</th>
    <th>Date Filled</th>
    <th> </th>
</tr>
</thead>
<?php while ($r = $q->fetch_assoc()): ?>
    <tr>
        <td><?php echo $r['tracknum']; ?></td>
        <td><?php echo $r['doctitle'] ?></td>
        <td><?php echo $r['doctype'] ?></td>
        <td><?php echo $r['datefilled'] ?></td>
         <td>
         <a href="#"><span class="btnshow glyphicon glyphicon-plus-sign"></span></a>
         </td>

    </tr>
    <tr><td colspan="5">    
    <?php
        $result_set = $connection->query("SELECT signatoryname FROM tablename WHERE tracknum = {$r['tracknum']}");
        while ($row = $result_set->fetch_assoc()){
            echo "<p>" . $row['signatoryname'] . "</p>";
        }
    ?>
    </td></tr>
<?php endwhile; ?>

</table>

不要忘记更改两个查询中的tablename

编辑:

如果你使用PDO扩展来执行你的查询,那么你可以做这样的事情,

<?php
    $_tempp1 = $r['tracknum'];
    $stmt = $connection->prepare("SELECT signatoryname FROM tablename WHERE tracknum = :tracknum");
    $stmt->bindParam(':tracknum', $_tempp1, PDO::PARAM_STR, 30); 
    $stmt->execute();

    while ($row = $stmt->fetch(PDO::FETCH_ASSOC)){
        echo "<p>" . $row['signatoryname'] . "</p>";
    }
?>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM