pbootcms网站模板|日韩1区2区|织梦模板||网站源码|日韩1区2区|jquery建站特效-html5模板网

  1. <i id='hKcQ6'><tr id='hKcQ6'><dt id='hKcQ6'><q id='hKcQ6'><span id='hKcQ6'><b id='hKcQ6'><form id='hKcQ6'><ins id='hKcQ6'></ins><ul id='hKcQ6'></ul><sub id='hKcQ6'></sub></form><legend id='hKcQ6'></legend><bdo id='hKcQ6'><pre id='hKcQ6'><center id='hKcQ6'></center></pre></bdo></b><th id='hKcQ6'></th></span></q></dt></tr></i><div class="yuy0flg" id='hKcQ6'><tfoot id='hKcQ6'></tfoot><dl id='hKcQ6'><fieldset id='hKcQ6'></fieldset></dl></div>

    <small id='hKcQ6'></small><noframes id='hKcQ6'>

      <bdo id='hKcQ6'></bdo><ul id='hKcQ6'></ul>

      <legend id='hKcQ6'><style id='hKcQ6'><dir id='hKcQ6'><q id='hKcQ6'></q></dir></style></legend>

    1. <tfoot id='hKcQ6'></tfoot>
    2. 透視 mysql 結(jié)果集并創(chuàng)建 html 表/矩陣

      Pivot a mysql result set and create html table/matrix(透視 mysql 結(jié)果集并創(chuàng)建 html 表/矩陣)
        <tbody id='DNcFa'></tbody>

            <small id='DNcFa'></small><noframes id='DNcFa'>

              <tfoot id='DNcFa'></tfoot>
              <i id='DNcFa'><tr id='DNcFa'><dt id='DNcFa'><q id='DNcFa'><span id='DNcFa'><b id='DNcFa'><form id='DNcFa'><ins id='DNcFa'></ins><ul id='DNcFa'></ul><sub id='DNcFa'></sub></form><legend id='DNcFa'></legend><bdo id='DNcFa'><pre id='DNcFa'><center id='DNcFa'></center></pre></bdo></b><th id='DNcFa'></th></span></q></dt></tr></i><div class="5u8yxwr" id='DNcFa'><tfoot id='DNcFa'></tfoot><dl id='DNcFa'><fieldset id='DNcFa'></fieldset></dl></div>
              • <bdo id='DNcFa'></bdo><ul id='DNcFa'></ul>
              • <legend id='DNcFa'><style id='DNcFa'><dir id='DNcFa'><q id='DNcFa'></q></dir></style></legend>
                本文介紹了透視 mysql 結(jié)果集并創(chuàng)建 html 表/矩陣的處理方法,對(duì)大家解決問題具有一定的參考價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)吧!

                問題描述

                我的頭整晚都撞在墻上,但還沒有解決方案,假設(shè)我有這樣的 Mysql 表結(jié)構(gòu):

                Bang my head against the wall all night but no solution yet, Say I have Mysql table structure like this :

                ID  name  value   year
                 1  Tom     15     2018
                 2  Tom     4      2019
                 3  Tom     6      2020
                 4  Kate    18     2018
                 5  Kate    20     2019
                    ...and so on... 
                

                我想通過 PHP 打印如下結(jié)果,并且年份應(yīng)該是動(dòng)態(tài)的,因?yàn)樗鼤?huì)隨著時(shí)間的推移而增加.請(qǐng)告訴我什么是一種方法謝謝

                and I would like to print the result like below by PHP and the year should be dynamic as it will be increased over the years. Please shed some light on me on what would be an approach Thanks

                year |2018 |2019|2020
                ----------------------
                Tom  |  15 |  4 | 6
                ----------------------
                Kate |  18 | 20 | ---
                
                ----- and so on --- 
                

                我的代碼:

                <table>
                
                <?php
                $mysqli = new mysqli('localhost', 'root', '123', 'news');
                $report = array();
                $columnIndex = 0;
                $query = $mysqli->query("SELECT name, value, year FROM Testab");
                while ($results = $query->fetch_assoc()) {
                    foreach ($results as $tos => $toa) {
                        $report[$tos][$columnIndex] = $toa;
                    }
                    $columnIndex++;
                }
                
                foreach ($report as $tos => $results) { ?>
                    <tr>
                        <th><?php echo $tos; ?></th>
                        <?php foreach ($results as $toa) { ?>
                            <th><?php echo $toa; ?></th>
                        <?php } ?>
                     </tr>
                 <?php } ?>
                </table>
                

                推薦答案

                有很多方法可以做到這一點(diǎn);一些技術(shù)涉及到 sql 來準(zhǔn)備動(dòng)態(tài)數(shù)據(jù)透視.我下面的代碼段將使用 php 來執(zhí)行數(shù)據(jù)透視.

                There will be many ways to do this; some techniques involve sql to prepare the dynamic pivot. My snippet below will use php to perform the pivot.

                1. 使用 foreach() 遍歷結(jié)果集對(duì)象——不,您不需要調(diào)用獲取函數(shù)來訪問數(shù)據(jù),因?yàn)榻Y(jié)果對(duì)象是可迭代的.
                2. 創(chuàng)建一個(gè)多維分組數(shù)組,以名稱為第一級(jí)鍵,然后以年份為鍵和值作為值的子數(shù)組.
                3. 創(chuàng)建一組獨(dú)特的年份.我的方法將通過將年份指定為鍵和值來確保唯一性——因?yàn)閿?shù)組不能包含重復(fù)的鍵,因此值將是唯一的,而無需稍后調(diào)用 array_unique().
                4. 按 ASC 排序年份
                5. 為每一年創(chuàng)建一個(gè)默認(rèn)值數(shù)組.在本例中,我將 - 指定為默認(rèn)值.
                6. 將文字詞 name 添加到包含唯一年份的數(shù)組的前面——這將用于填充表格的標(biāo)題行.
                7. 我更喜歡使用 implode() 來制作可變單元格表格行.
                8. printf() 是一種將文字文本與變量混合的干凈方式——它避免了插值/串聯(lián)語法.
                9. 在每個(gè)后續(xù)表格行中,將默認(rèn)的年度值替換為相關(guān)人員的年度值,并用 implode() 表示.
                10. 如果結(jié)果集有可能為空,那么您可能希望將此代碼段的大部分內(nèi)容包含在 if ($resultObject) { ... } 塊中.
                1. Loop through the result set object with a foreach() -- no, you don't need to call a fetching function to access the data because the result object is iterable.
                2. Create a multidimensional grouping array with names as the first level keys, then subarrays with years as keys and values as values.
                3. Create an array of unique years. My approach will ensure uniqueness by assigning the year as both the key and the value -- because arrays cannot contain duplicated keys, the values will be unique without having to call array_unique() later.
                4. Sort the years ASC
                5. Create an array of default values for every year. In this case, I am assigning - as the default value.
                6. Add the literal word name to the front of the array containing unique years -- this will be used to populate the header row of the table.
                7. I prefer to use implode() to craft a variable-celled table row.
                8. printf() is a clean way of blending literal text with variables -- it avoids interpolation/concatenation syntax.
                9. In each subsequent table row, replace the default yearly values with the relative person's yearly values and present with implode().
                10. If there is any chance that the result set is empty, then you may want to wrap most of this snippet in an if ($resultObject) { ... } block.

                代碼:(演示)

                $grouped = [];
                $columns = [];    
                
                $resultObject = $mysqli->query("SELECT `name`, `value`, `year` FROM `Testab`");
                foreach ($resultObject as $row) {
                    $grouped[$row['name']][$row['year']] = $row['value'];
                    $columns[$row['year']] = $row['year'];
                }
                
                sort($columns);
                $defaults = array_fill_keys($columns, '-');
                array_unshift($columns, 'name');
                
                echo "<table>";
                    printf(
                        '<tr><th>%s</th></tr>',
                        implode('</th><th>', $columns)
                    );
                    foreach ($grouped as $name => $records) {
                        printf(
                            '<tr><td>%s</td><td>%s</td></tr>',
                            $name,
                            implode('</td><td>', array_replace($defaults, $records))
                        );
                    }
                echo "</table>";
                

                輸出:(添加間距/制表符以便于閱讀)

                Output: (with added spacing/tabbing for easier reading)

                <table>
                    <tr>
                        <th>name</th> <th>2018</th> <th>2019</th> <th>2020</th>
                    </tr>
                    <tr>
                        <td>Tom</td>  <td>15</td>   <td>4</td>    <td>6</td>
                    </tr>
                    <tr>
                        <td>Kate</td> <td>18</td>   <td>20</td>   <td>-</td>
                    </tr>
                </table>
                

                這篇關(guān)于透視 mysql 結(jié)果集并創(chuàng)建 html 表/矩陣的文章就介紹到這了,希望我們推薦的答案對(duì)大家有所幫助,也希望大家多多支持html5模板網(wǎng)!

                【網(wǎng)站聲明】本站部分內(nèi)容來源于互聯(lián)網(wǎng),旨在幫助大家更快的解決問題,如果有圖片或者內(nèi)容侵犯了您的權(quán)益,請(qǐng)聯(lián)系我們刪除處理,感謝您的支持!

                相關(guān)文檔推薦

                Deadlock exception code for PHP, MySQL PDOException?(PHP、MySQL PDOException 的死鎖異常代碼?)
                PHP PDO MySQL scrollable cursor doesn#39;t work(PHP PDO MySQL 可滾動(dòng)游標(biāo)不起作用)
                PHP PDO ODBC connection(PHP PDO ODBC 連接)
                Using PDO::FETCH_CLASS with Magic Methods(使用 PDO::FETCH_CLASS 和魔術(shù)方法)
                php pdo get only one value from mysql; value that equals to variable(php pdo 只從 mysql 獲取一個(gè)值;等于變量的值)
                MSSQL PDO could not find driver(MSSQL PDO 找不到驅(qū)動(dòng)程序)

                        <bdo id='PeIHF'></bdo><ul id='PeIHF'></ul>

                        <legend id='PeIHF'><style id='PeIHF'><dir id='PeIHF'><q id='PeIHF'></q></dir></style></legend>
                            <tbody id='PeIHF'></tbody>
                        • <tfoot id='PeIHF'></tfoot>
                          <i id='PeIHF'><tr id='PeIHF'><dt id='PeIHF'><q id='PeIHF'><span id='PeIHF'><b id='PeIHF'><form id='PeIHF'><ins id='PeIHF'></ins><ul id='PeIHF'></ul><sub id='PeIHF'></sub></form><legend id='PeIHF'></legend><bdo id='PeIHF'><pre id='PeIHF'><center id='PeIHF'></center></pre></bdo></b><th id='PeIHF'></th></span></q></dt></tr></i><div class="efu8b5v" id='PeIHF'><tfoot id='PeIHF'></tfoot><dl id='PeIHF'><fieldset id='PeIHF'></fieldset></dl></div>

                          <small id='PeIHF'></small><noframes id='PeIHF'>

                          主站蜘蛛池模板: 制冷采购电子商务平台——制冷大市场 | 粉末冶金-粉末冶金齿轮-粉末冶金零件厂家-东莞市正朗精密金属零件有限公司 | 衡阳耐适防护科技有限公司——威仕盾焊接防护用品官网/焊工手套/焊接防护服/皮革防护手套 | 咖啡加盟,咖啡店加盟连锁品牌-卡小逗| 无尘烘箱_洁净烤箱_真空无氧烤箱_半导体烤箱_电子防潮柜-深圳市怡和兴机电 | 杭州高温泵_热水泵_高温油泵|昆山奥兰克泵业制造有限公司 | 控显科技 - 工控一体机、工业显示器、工业平板电脑源头厂家 | 威廉希尔WilliamHill·足球(中国)体育官方网站| 行星搅拌机,双行星搅拌机,动力混合机,无锡米克斯行星搅拌机生产厂家 | 篮球地板厂家_舞台木地板品牌_体育运动地板厂家_凯洁地板 | X光检测仪_食品金属异物检测机_X射线检测设备_微现检测 | 质构仪_鱼糜弹性仪-上海腾拔仪器科技有限公司| 光栅尺_Magnescale探规_磁栅尺_笔式位移传感器_苏州德美达 | 沙盘模型公司_沙盘模型制作公司_建筑模型公司_工业机械模型制作厂家 | 恒温水槽与水浴锅-上海熙浩实业有限公司 | 建大仁科-温湿度变送器|温湿度传感器|温湿度记录仪_厂家_价格-山东仁科 | 电子厂招聘_工厂招聘_普工招聘_小时工招聘信息平台-众立方招工网 | 北京征地律师,征地拆迁律师,专业拆迁律师,北京拆迁律师,征地纠纷律师,征地诉讼律师,征地拆迁补偿,拆迁律师 - 北京凯诺律师事务所 | 【甲方装饰】合肥工装公司-合肥装修设计公司,专业从事安徽办公室、店面、售楼部、餐饮店、厂房装修设计服务 | 杭州中央空调维修_冷却塔/新风机柜/热水器/锅炉除垢清洗_除垢剂_风机盘管_冷凝器清洗-杭州亿诺能源有限公司 | 波纹补偿器_不锈钢波纹补偿器_巩义市润达管道设备制造有限公司 | 北京自然绿环境科技发展有限公司专业生产【洗车机_加油站洗车机-全自动洗车机】 | 查分易-成绩发送平台官网 | 依维柯自动挡房车,自行式国产改装房车,小型房车价格,中国十大房车品牌_南京拓锐斯特房车 - 南京拓锐斯特房车 | 广东机电安装工程_中央空调工程_东莞装饰装修-广东粤标建设有限公司 | 欧美日韩国产一区二区三区不_久久久久国产精品无码不卡_亚洲欧洲美洲无码精品AV_精品一区美女视频_日韩黄色性爱一级视频_日本五十路人妻斩_国产99视频免费精品是看4_亚洲中文字幕无码一二三四区_国产小萍萍挤奶喷奶水_亚洲另类精品无码在线一区 | Safety light curtain|Belt Sway Switches|Pull Rope Switch|ultrasonic flaw detector-Shandong Zhuoxin Machinery Co., Ltd | 探伤仪,漆膜厚度测试仪,轮胎花纹深度尺厂家-淄博创宇电子 | 北京律师咨询_知名专业北京律师事务所_免费法律咨询 | 溶氧传感器-pH传感器|哈美顿(hamilton) | 建筑资质代办-建筑资质转让找上海国信启航 | 南京展台搭建-南京展会设计-南京展览设计公司-南京展厅展示设计-南京汇雅展览工程有限公司 | 减速机三参数组合探头|TSM803|壁挂式氧化锆分析仪探头-安徽鹏宸电气有限公司 | 楼承板-开口楼承板-闭口楼承板-无锡海逵 | 沈阳建筑设计公司_加固改造设计_厂房设计_设计资质加盟【金辉设计】 | 仓储货架_南京货架_钢制托盘_仓储笼_隔离网_环球零件盒_诺力液压车_货架-南京一品仓储设备制造公司 | 诚暄电子公司首页-线路板打样,pcb线路板打样加工制作厂家 | EDLC超级法拉电容器_LIC锂离子超级电容_超级电容模组_软包单体电容电池_轴向薄膜电力电容器_深圳佳名兴电容有限公司_JMX专注中高端品牌电容生产厂家 | 中图网(原中国图书网):网上书店,尾货特色书店,30万种特价书低至2折! | 合肥白癜风医院_合肥治疗白癜风医院_合肥看白癜风医院哪家好_合肥华研白癜风医院 | ERP企业管理系统永久免费版_在线ERP系统_OA办公_云版软件官网 |