我在连接到sql DB的表中有多列输入DATE字段。现在我需要总结并显示每列的用户条目数。不应计算NULL值。
我可以计算行数。但不是参赛作品。请帮忙。 EX:如果我在一列中有10行,并且用户目前只输入了2个输入,那么输出应该在另一个表中显示为2。
这是我目前的完整代码:
<?php
include_once('confiq.php');
$sql="SELECT * FROM fiberexcel";
$records=mysqli_query($conn, $sql);
?>
<?php
$page = $_SERVER['PHP_SELF'];
$sec = "10";
?>
<style type="text/css">
table {
border-collapse: collapse;
width: auto;
overflow-y: scroll;
}
td{
background-color: #fff;
text-align: center;
}
</style>
<html>
<head>
<title>DASHBOARD</title>
<div id="home"><a href="index.html"><img src="./img/home.png"></img></a></div>
</head>
<body>
<table width="100%" border="1" cellpadding="10" cellspacing="0" style="font-size:11px; font-family:verdana;" >
<thead>
<tr>
<th>TITLE</th>
<th>TARGETS</th>
<th>ACTUALS</th>
<th>COMPLETED %</th>
</tr>
<tr>
<td>Sent to Contractors for Quotation</td>
<?php
$query = "SELECT COUNT(*) FROM fiberexcel";
$result = mysqli_query($conn,$query);
$rows = mysqli_fetch_row($result);
echo "<td>" .$rows[0] ." </td>";
?>
<td>Count</td>
<td>Count</td>
</tr>
<tr><td>SO Approval for JFS Requested</td>
<?php
$query = "SELECT COUNT(*) FROM fiberexcel";
$result = mysqli_query($conn,$query);
$rows = mysqli_fetch_row($result);
echo "<td>" .$rows[0] ." </td>";
?>
<td>Count</td>
<td>Count</td>
</tr>
<tr><td>SO Approval for JFS Received</td>
<?php
$query = "SELECT COUNT(*) FROM fiberexcel";
$result = mysqli_query($conn,$query);
$rows = mysqli_fetch_row($result);
echo "<td>" .$rows[0] ." </td>";
?>
<td>Count</td>
<td>Count</td>
</tr>
<tr><td>JFS Done</td>
<?php
$query = "SELECT COUNT(*) FROM fiberexcel";
$result = mysqli_query($conn,$query);
$rows = mysqli_fetch_row($result);
echo "<td>" .$rows[0] ." </td>";
?>
<td>Count</td>
<td>Count</td>
</tr>
<tr><td>Drawing Submited OFN to SAQ</td>
<?php
$query = "SELECT COUNT(*) FROM fiberexcel";
$result = mysqli_query($conn,$query);
$rows = mysqli_fetch_row($result);
echo "<td>" .$rows[0] ." </td>";
?>
<td>Count</td>
<td>Count</td>
</tr>
<tr><td>Drawing Submited OFN to SAQ</td>
<?php
$query = "SELECT COUNT(*) FROM fiberexcel";
$result = mysqli_query($conn,$query);
$rows = mysqli_fetch_row($result);
echo "<td>" .$rows[0] ." </td>";
?>
<td>Count</td>
<td>Count</td>
</tr>
<tr><td>Tech Evaluation Given to DE</td>
<?php
$query = "SELECT COUNT(*) FROM fiberexcel";
$result = mysqli_query($conn,$query);
$rows = mysqli_fetch_row($result);
echo "<td>" .$rows[0] ." </td>";
?>
<td>Count</td>
<td>Count</td>
</tr>
<tr><td>All Quotations Recieved</td>
<?php
$query = "SELECT COUNT(*) FROM fiberexcel";
$result = mysqli_query($conn,$query);
$rows = mysqli_fetch_row($result);
echo "<td>" .$rows[0] ." </td>";
?>
<td>Count</td>
<td>Count</td>
</tr>
<tr><td>Mail confirmation to work start without PO from DE</td>
<?php
$query = "SELECT COUNT(*) FROM fiberexcel";
$result = mysqli_query($conn,$query);
$rows = mysqli_fetch_row($result);
echo "<td>" .$rows[0] ." </td>";
?>
<td>Count</td>
<td>Count</td>
</tr>
<tr><td>Contractor PO received from DE</td>
<?php
$query = "SELECT COUNT(*) FROM fiberexcel";
$result = mysqli_query($conn,$query);
$rows = mysqli_fetch_row($result);
echo "<td>" .$rows[0] ." </td>";
?>
<td>Count</td>
<td>Count</td>
</tr>
<tr><td>Work Approval Request</td>
<?php
$query = "SELECT COUNT(*) FROM fiberexcel";
$result = mysqli_query($conn,$query);
$rows = mysqli_fetch_row($result);
echo "<td>" .$rows[0] ." </td>";
?>
<td>Count</td>
<td>Count</td>
</tr>
<tr><td>Work Approval received</td>
<?php
$query = "SELECT COUNT(*) FROM fiberexcel";
$result = mysqli_query($conn,$query);
$rows = mysqli_fetch_row($result);
echo "<td>" .$rows[0] ." </td>";
?>
<td>Count</td>
<td>Count</td>
</tr>
<tr><td>IBW Started</td>
<?php
$query = "SELECT COUNT(*) FROM fiberexcel";
$result = mysqli_query($conn,$query);
$rows = mysqli_fetch_row($result);
echo "<td>" .$rows[0] ." </td>";
?>
<td>Count</td>
<td>Count</td>
</tr>
<tr><td>IBW Completed</td>
<?php
$query = "SELECT COUNT(*) FROM fiberexcel";
$result = mysqli_query($conn,$query);
$rows = mysqli_fetch_row($result);
echo "<td>" .$rows[0] ." </td>";
?>
<td>Count</td>
<td>Count</td>
</tr>
<tr><td>Hand over to contractor for WLA / Implementation</td>
<?php
$query = "SELECT COUNT(*) FROM fiberexcel";
$result = mysqli_query($conn,$query);
$rows = mysqli_fetch_row($result);
echo "<td>" .$rows[0] ." </td>";
?>
<td>Count</td>
<td>Count</td>
</tr>
<tr><td>Request sent to Authority</td>
<?php
$query = "SELECT COUNT(*) FROM fiberexcel";
$result = mysqli_query($conn,$query);
$rows = mysqli_fetch_row($result);
echo "<td>" .$rows[0] ." </td>";
?>
<td>Count</td>
<td>Count</td>
</tr>
<tr><td>Estimate received by Dialog</td>
<?php
$query = "SELECT COUNT(*) FROM fiberexcel";
$result = mysqli_query($conn,$query);
$rows = mysqli_fetch_row($result);
echo "<td>" .$rows[0] ." </td>";
?>
<td>Count</td>
<td>Count</td>
</tr>
<tr><td>System PR Requested for WLA</td>
<?php
$query = "SELECT COUNT(*) FROM fiberexcel";
$result = mysqli_query($conn,$query);
$rows = mysqli_fetch_row($result);
echo "<td>" .$rows[0] ." </td>";
?>
<td>Count</td>
<td>Count</td>
</tr>
<tr><td>System PO done</td>
<?php
$query = "SELECT COUNT(*) FROM fiberexcel";
$result = mysqli_query($conn,$query);
$rows = mysqli_fetch_row($result);
echo "<td>" .$rows[0] ." </td>";
?>
<td>Count</td>
<td>Count</td>
</tr>
<tr><td>Documents sent to Fin</td>
<?php
$query = "SELECT COUNT(*) FROM fiberexcel";
$result = mysqli_query($conn,$query);
$rows = mysqli_fetch_row($result);
echo "<td>" .$rows[0] ." </td>";
?>
<td>Count</td>
<td>Count</td>
</tr>
<tr><td>Payment Received from Fin</td>
<?php
$query = "SELECT COUNT(*) FROM fiberexcel";
$result = mysqli_query($conn,$query);
$rows = mysqli_fetch_row($result);
echo "<td>" .$rows[0] ." </td>";
?>
<td>Count</td>
<td>Count</td>
</tr>
<tr><td>Payment submitted to Contractor</td>
<?php
$query = "SELECT COUNT(*) FROM fiberexcel";
$result = mysqli_query($conn,$query);
$rows = mysqli_fetch_row($result);
echo "<td>" .$rows[0] ." </td>";
?>
<td>Count</td>
<td>Count</td>
</tr>
<tr><td>Payment Submitted to Authority</td>
<?php
$query = "SELECT COUNT(*) FROM fiberexcel";
$result = mysqli_query($conn,$query);
$rows = mysqli_fetch_row($result);
echo "<td>" .$rows[0] ." </td>";
?>
<td>Count</td>
<td>Count</td>
</tr>
<tr><td>OSP Work Started</td>
<?php
$query = "SELECT COUNT(*) FROM fiberexcel";
$result = mysqli_query($conn,$query);
$rows = mysqli_fetch_row($result);
echo "<td>" .$rows[0] ." </td>";
?>
<td>Count</td>
<td>Count</td>
</tr>
<tr><td>OSP Work Completed</td>
<?php
$query = "SELECT COUNT(*) FROM fiberexcel";
$result = mysqli_query($conn,$query);
$rows = mysqli_fetch_row($result);
echo "<td>" .$rows[0] ." </td>";
?>
<td>Count</td>
<td>Count</td>
</tr>
<tr><td>Cable Blowing / Splicing and Testing Completed</td>
<?php
$query = "SELECT COUNT(*) FROM fiberexcel";
$result = mysqli_query($conn,$query);
$rows = mysqli_fetch_row($result);
echo "<td>" .$rows[0] ." </td>";
?>
<td>Count</td>
<td>Count</td>
</tr>
</thead>
</body>
</html>
答案 0 :(得分:1)
如果您想count
table
中给定列的不同值的数量select sum(foo)
from
(select 1 as foo
from fiberexcel
group by givencolumn) t
,您可以这样做:
fiberexcel.givencolumn
内部查询将为foo
中的每个可能值创建一个组,并选择1作为sum
。由于每个组1都与之相关,foo
的{{1}}将产生您需要的值。您可以为任何列执行此操作。
编辑:
假设你有一个表T,你在这个表中有一个C列。如果您有兴趣根据不同的C值了解汇总信息,那么您需要进行分组:
select C
from T
group by C
此查询的结果将包含C上的T组。假设您对T中每个可能的C元素的数量感兴趣。在这种情况下,您需要进行计数:
select C, count(*) as element_number
from T
group by C
现在,在我们的例子中,我们有兴趣知道组的数量(不同值的数量),因此我们进行分组并为每个组选择1并添加它们。但如果它对你更容易理解/同情,那么它可以以不同的方式解决。例如:
select count(*)
from
(select givencolumn
from fiberexcel
group by givencolumn) t
答案 1 :(得分:1)
<?php
//$i = 1;
while ($fiberexcel=mysqli_fetch_assoc($records)){
}
?>
<?php
$query = "SELECT COUNT(*) FROM fiberexcel";
$result = mysqli_query($conn,$query);
$TARGETS = mysqli_fetch_row($result);
?>
<!--Quotation11-->
<tr>
<td>Sent to Contractors for Quotation</td>
<?php echo "<td>" .$TARGETS[0] ." </td>";
$query = "SELECT COUNT(*) FROM fiberexcel WHERE Quotation11 ";
$result = mysqli_query($conn,$query);
$ACTUALS = mysqli_fetch_row($result);
echo "<td>" .$ACTUALS[0] . "</td>";
$pers = ROUND($ACTUALS[0]/$TARGETS[0] *100 ) . "%";
echo "<td>" .$pers . "</td>";
?>
</tr>
<!--ApprovalJFSRequest13-->
<tr><td>SO Approval for JFS Requested</td>
<?php echo "<td>" .$TARGETS[0] ." </td>";
$query = "SELECT COUNT(*) FROM fiberexcel WHERE ApprovalJFSRequest13 ";
$result = mysqli_query($conn,$query);
$ACTUALS = mysqli_fetch_row($result);
echo "<td>" . $ACTUALS[0] . "</td>" ;
$pers = ($ACTUALS[0]/$TARGETS[0]) *100 . "%";
echo "<td>" .$pers . "</td>";
?>
</tr>