首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >php html表枢轴列标题

php html表枢轴列标题
EN

Stack Overflow用户
提问于 2016-01-22 03:11:41
回答 1查看 186关注 0票数 0

我即将达到我想要的输出,但我有这个问题。

列标题必须是1、2、3、4、5等,这是我目前的代码。

代码语言:javascript
复制
<table class="table table-bordered table-condensed" align="center" bordercolor="#CCCCCC">
                            <tr bgcolor="#009933">
                            <td align="center" style="color:#FFF;">Name</td>
                            <td align="center" style="color:#FFF;">Date</td>
                            <td align="center" style="color:#FFF;">Date</td>
                            <td align="center" style="color:#FFF;">Date</td>
                            <td align="center" style="color:#FFF;">Date</td>
                            <td align="center" style="color:#FFF;">Date</td>
                            <td align="center" style="color:#FFF;">Remark</td>
                            </tr>
                            <?php
                            $queryres = mysql_query("SELECT stud_name,
                            MAX(IF(date = '1', remark, '')) AS '1',
                            MAX(IF(date = '2', remark, '')) AS '2',
                            MAX(IF(date = '3', remark, '')) AS '3',
                            MAX(IF(date = '4', remark, '')) AS '4',
                            MAX(IF(date = '5', remark, '')) AS '5',
                            MAX(IF(date = '6', remark, '')) AS '6',
                            MAX(IF(date = '7', remark, '')) AS '7',
                            MAX(IF(date = '8', remark, '')) AS '8',
                            MAX(IF(date = '9', remark, '')) AS '9',
                            MAX(IF(date = '10', remark, '')) AS '10',
                            MAX(IF(date = '11', remark, '')) AS '11',
                            MAX(IF(date = '12', remark, '')) AS '12',
                            MAX(IF(date = '13', remark, '')) AS '13',
                            MAX(IF(date = '14', remark, '')) AS '14',
                            MAX(IF(date = '15', remark, '')) AS '15',
                            MAX(IF(date = '16', remark, '')) AS '16',
                            MAX(IF(date = '17', remark, '')) AS '17',
                            MAX(IF(date = '18', remark, '')) AS '18',
                            MAX(IF(date = '19', remark, '')) AS '19',
                            MAX(IF(date = '20', remark, '')) AS '20', 
                            MAX(IF(date = '21', remark, '')) AS '21',
                            MAX(IF(date = '22', remark, '')) AS '22',
                            MAX(IF(date = '23', remark, '')) AS '23',
                            MAX(IF(date = '24', remark, '')) AS '24',
                            MAX(IF(date = '25', remark, '')) AS '25',
                            MAX(IF(date = '26', remark, '')) AS '26',
                            MAX(IF(date = '27', remark, '')) AS '27',
                            MAX(IF(date = '28', remark, '')) AS '28',
                            MAX(IF(date = '29', remark, '')) AS '29',
                            MAX(IF(date = '30', remark, '')) AS '30',
                            MAX(IF(date = '31', remark, '')) AS '31'
                            FROM tb_attendance WHERE instructor_id = '$inst_id' AND description = '$desc'
                            GROUP BY stud_name");
                            while($result= mysql_fetch_array($queryres)){
                                echo "<tr>";
                                echo "<td class=\"text-center\">".$result['stud_name']."</td>";
                                echo "<td class=\"text-center\">".$result['1']."</td>";
                                echo "<td class=\"text-center\">".$result['2']."</td>";
                                echo "<td class=\"text-center\">".$result['3']."</td>";
                                echo "<td class=\"text-center\">".$result['4']."</td>";
                                echo "<td class=\"text-center\">".$result['5']."</td>";
                                echo "<td class=\"text-center\">"."</td>";
                            }
?>
</table>

是否有办法将(日期)改为数字(1、2、3、4、5),并仅显示有记录的数字(注释=存在或缺席)。例如,1 2 3有记录,但4 5没有任何记录,所以1 2 3只能显示在表中。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-01-22 03:58:07

您需要执行另一个查询,以找出表中哪些日期有值:

代码语言:javascript
复制
<table class="table table-bordered table-condensed" align="center" bordercolor="#CCCCCC">
    <tr bgcolor="#009933">
    <td align="center" style="color:#FFF;">Name</td>
<?php
$queryres = mysql_query("SELECT DISTINCT date 
                         FROM tb_attendance 
                         WHERE instructor_id = '$inst_id' AND description = '$desc' 
                         ORDER BY date");
$dates = array();
while ($row = mysql_fetch_assoc($queryres)) {
    $dates[] = $row['date']; // Remember which date columns have values, so we only display those in the student rows.
    echo '<td align="center" style="color:#FFF;">' . $row['date'] . '</td>';
}
?>
<td align="center" style="color:#FFF;">Remark</td>
</tr>
<?php
$queryres = mysql_query("
    SELECT stud_name,
        MAX(IF(date = '1', remark, '')) AS '1',
        MAX(IF(date = '2', remark, '')) AS '2',
        MAX(IF(date = '3', remark, '')) AS '3',
        MAX(IF(date = '4', remark, '')) AS '4',
        MAX(IF(date = '5', remark, '')) AS '5',
        MAX(IF(date = '6', remark, '')) AS '6',
        MAX(IF(date = '7', remark, '')) AS '7',
        MAX(IF(date = '8', remark, '')) AS '8',
        MAX(IF(date = '9', remark, '')) AS '9',
        MAX(IF(date = '10', remark, '')) AS '10',
        MAX(IF(date = '11', remark, '')) AS '11',
        MAX(IF(date = '12', remark, '')) AS '12',
        MAX(IF(date = '13', remark, '')) AS '13',
        MAX(IF(date = '14', remark, '')) AS '14',
        MAX(IF(date = '15', remark, '')) AS '15',
        MAX(IF(date = '16', remark, '')) AS '16',
        MAX(IF(date = '17', remark, '')) AS '17',
        MAX(IF(date = '18', remark, '')) AS '18',
        MAX(IF(date = '19', remark, '')) AS '19',
        MAX(IF(date = '20', remark, '')) AS '20', 
        MAX(IF(date = '21', remark, '')) AS '21',
        MAX(IF(date = '22', remark, '')) AS '22',
        MAX(IF(date = '23', remark, '')) AS '23',
        MAX(IF(date = '24', remark, '')) AS '24',
        MAX(IF(date = '25', remark, '')) AS '25',
        MAX(IF(date = '26', remark, '')) AS '26',
        MAX(IF(date = '27', remark, '')) AS '27',
        MAX(IF(date = '28', remark, '')) AS '28',
        MAX(IF(date = '29', remark, '')) AS '29',
        MAX(IF(date = '30', remark, '')) AS '30',
        MAX(IF(date = '31', remark, '')) AS '31'
    FROM tb_attendance WHERE instructor_id = '$inst_id' AND description = '$desc'
    GROUP BY stud_name");
while($result= mysql_fetch_array($queryres)){
    echo "<tr>";
    echo "<td class=\"text-center\">".$result['stud_name']."</td>";
    foreach ($dates as $date) {
        echo "<td class=\"text-center\">".$result[$date]."</td>"; 
    }
    echo "</tr>";
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34938366

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档