In diesem Artikel wird hauptsächlich die von PHP implementierte statistische Datenfunktion vorgestellt und die damit verbundenen Betriebsfähigkeiten der PHP-Datenabfrage und -Anzeigeverarbeitung anhand von Beispielen analysiert
Die Beispiele in In diesem Artikel wird die Implementierung der PHP-Statistikfunktion beschrieben. Teilen Sie es als Referenz mit allen. Die Details lauten wie folgt:
Statistik dient der Integration grundlegender Daten.
Mit SQL gibt es Gruppierung nach Funktion, Zählfunktion, Reihenfolge nach Funktion usw.
SQL führt eine statistische Analyse der gesammelten Daten durch.
Unter normalen Umständen müssen die nach der SQL-Verarbeitung erhaltenen Daten durch PHP-Logik organisiert werden.
Anzeige an der Rezeption in einem bestimmten Format.
wird im Allgemeinen in Form eines Arrays angezeigt, was auch das Konzept der Datenstruktur darstellt.
Wenn man sich dieses Bild ansieht, ist die Grundstruktur wahrscheinlich
{Anzahl der Online-Zeilen, Gesamtzahl der erteilten Bestellungen, Gesamtzahl der Genehmigungen, Gesamtzahl pro Kopf, Gesamtgenehmigungsrate, {(Agent 1, Arbeitsnummer 1, Anzahl der Bestellungen 1, Anzahl der Sendungen 1, Auftragsgenehmigungsrate 1), (Agent 2, Auftragsnummer 2, Anzahl der Bestellungen 2, Anzahl der Sendungen 2, Bestellung Zustimmungsrate 2)} }
Wenn Sie PHP verwenden, um die obige Struktur anzuzeigen, ist die Handhabung einfach.
Erhalten Sie zunächst die anfänglichen Verarbeitungsdaten über SQL.
Unterschätzen Sie diese anfänglichen Verarbeitungsdaten nicht, wenn sie gut verarbeitet werden.
Code kopieren Der Code lautet wie folgt:
SELECT a.user,count(order_id) as subcount,b.passcount,c.full_name from vicidial_order a LEFT JOIN (SELECT user,count(order_id) as passcount from vicidial_order where time > UNIX_TIMESTAMP('2015-11-7') and user_group = 'TeamOne' and verifysta = 'Y' GROUP BY user ) b on a.user = b. user LEFT JOIN vicidial_users c on a.user = c.user where time >2015-11-7' und a.user_group = 'TeamOne' GROUP BY a.user ;
SQL-Idee: Die Bestelltabelle wird nach Benutzern klassifiziert.
Ermitteln Sie die Gesamtzahl der Auftragseingänge count() für jede Person am Tag.
Erhalten Sie außerdem die Gesamtzahl der genehmigten Bestellungen für jede Person und filtern Sie nach „Wo“.
Verknüpfen und fragen Sie dann andere verwandte Daten ab.
Mit diesen Basisdaten können weitere verwandte Daten freigegeben werden.
Verarbeiten Sie die Erfassung über PHP, und die Variablen sollten klar benannt sein, was auch beim Lesen des Codes hilfreich ist.
$select_sql = "SELECT a.user,count(order_id) as subcount,b.passcount,c.full_name from vicidial_order a LEFT JOIN (SELECT user,count(order_id) as passcount from vicidial_order where time > UNIX_TIMESTAMP('".$today."') and user_group = '".$user_group."' and verifysta = 'Y' GROUP BY user ) b on a.user = b.user LEFT JOIN vicidial_users c on a.user = c.user where time > UNIX_TIMESTAMP('".$today."') and a.user_group = '".$user_group."' GROUP BY a.user "; $rows = mysqli_query( $db_conn, $select_sql ); $row_counts_list = mysqli_num_rows( $rows ); if ( $row_counts_list != 0 ) { $i = 0; while($rs = mysqli_fetch_assoc( $rows )) // mysqli_fetch_assoc 获取键值数据 mysqli_fetch_field 获取一条数据 mysqli_fetch_fields 获取多组数据 mysqli_fetch_row { $outData['list'][$i]['user'] = $rs['user']; $outData['list'][$i]['full_name'] = $rs['full_name']; $outData['list'][$i]['subcount'] = $rs['subcount']; $outData['list'][$i]['passcount'] = $rs['passcount']; $outData['list'][$i]['passrate'] = round(($rs['passcount']/$rs['subcount'])*100)."%"; $outData['all_subcount'] += $rs['subcount']; $outData['all_passcount'] += $rs['passcount']; $i++; } $outData['all_passrate'] = round(($outData['all_passcount']/$outData['all_subcount'])*100)."%"; $outData['online_count'] = $row_counts_list; $outData['average_subcount'] = round($outData['all_subcount']/$outData['online_count'],1); }
wobei outData der auszugebende Datenstrukturtyp ist.
Array ( [list] => Array ( [0] => Array ( [user] => 8001 [full_name] => 魏硕磊 [subcount] => 3 [passcount] => 2 [passrate] => 67% ) [1] => Array ( [user] => 8004 [full_name] => 刘庆 [subcount] => 2 [passcount] => 2 [passrate] => 100% ) [2] => Array ( [user] => 8005 [full_name] => 章厚英 [subcount] => 4 [passcount] => 3 [passrate] => 75% ) ) [all_subcount] => 9 [all_passcount] => 7 [all_passrate] => 78% [online_count] => 3 [average_subcount] => 3 )
Nach Erhalt der Daten ist alles einfach.
Fügen Sie es einfach in die Seite ein und debuggen Sie es dann selbst.
<!-- begin --> <?php foreach ($outData as $k => $v) { ?> <p class="col-xs-12 col-sm-6 widget-container-col ui-sortable"> <p class="widget-box widget-color-blue"> <p class="widget-header"> <h5 class="widget-title bigger lighter"> <i class="ace-icon fa fa-table"></i> 【<?php echo $v['group_name'];?>】成绩表 </h5> </p> <p class="widget-body"> <p class="widget-main no-padding"> <table> </table> <table class="table table-striped table-bordered table-hover"> <thead style="text-align:center;font-size:16px"> <tr> <td colspan="2">上线总人数:</td> <td colspan="3"><?php echo $v['stat']['online_count']?></td> </tr> <tr> <td colspan="2">出单总数:</td> <td style="color:red"><?php echo $v['stat']['all_subcount']?></td> <td >核过总数</td> <td style="color:red"><?php echo $v['stat']['all_passcount']?></td> </tr> <tr> <td colspan="2">总人均:</td> <td style="color:red"><?php echo $v['stat']['average_subcount']?></td> <td >总核率</td> <td style="color:red"><?php echo $v['stat']['all_passrate']?></td> </tr> </thead> <thead class="thin-border-bottom"> <tr> <th> <i class="ace-icon "></i> 坐席人 </th> <th> <i class="ace-icon "></i> 工号 </th> <th> <i class="ace-icon "></i> 出单数 </th> <th> <i class="ace-icon "></i> 发货数 </th> <th> <i class="ace-icon "></i> 核单率 </th> </tr> </thead> <tbody> <?php foreach ($v['stat']['list'] as $listk => $listv) { ?> <tr> <td class=""><?php echo $listv['full_name']?></td> <td> <a href="#"><?php echo $listv['user']?></a> </td> <td class=""> <a href="#"><?php echo $listv['subcount']?></a> </td> <td class=""><?php echo $listv['passcount']?></td> <td class=""><?php echo $listv['passrate']?></td> </tr> <?php }?> <tr style="color:red;font-size:16px"> <td class=""colspan="2">总计</td> <td class=""><?php echo $v['stat']['all_subcount']?></td> <td class=""><?php echo $v['stat']['all_passcount']?></td> <td class=""><?php echo $v['stat']['all_passrate']?></td> </tr> </tbody> </table> </p> </p> </p> </p> <?php }?> <!-- end -->
Verwandte Empfehlungen:
Beispiel für ein Website-Verzeichnis-Index-Tool basierend auf PHP
Benutzerdefinierte Array-Sortierfunktion und Sortierklassenmethode, implementiert in PHP
Dateioperationsklasse und Datei-Download-Funktion implementiert in PHP
Das obige ist der detaillierte Inhalt vonDetaillierte Erläuterung der in PHP implementierten statistischen Datenfunktionen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!