如何计算除null之外的每列中用户输入数据的数量?

时间:2017-04-29 09:15:06

标签: javascript php jquery html

我在连接到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>

2 个答案:

答案 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>