2

たとえば、2 つの情報データベースがあり、最初のデータベースは未確認の情報でいっぱいです。2 番目のデータベースには、私たちが特定した情報がいっぱいです。したがって、識別された全情報の割合を動的に計算したいと考えています。

以下はパーセンテージを計算するphp関数です。

//TOTAL ENTRIES INTO Table 1 FOR total data
$result   = mysql_query( "SELECT * FROM table1" );
$num_total = mysql_num_rows( $result );

 //TOTAL ENTRIES IN Table 2  FOR THE PERCENTAGE
$result   = mysql_query( "SELECT * FROM table2" );
$num_amount = mysql_num_rows( $result );

 function percent($num_amount, $num_total) {
 $count1 = $num_amount / $num_total;
 $count2 = $count1 * 100;
 $count3 = 100 - $count2;
 $count = number_format($count3, 0);
 echo $count;
 }

両方のクエリは、データベースでカウントされた行の総数の正しい情報を返しますが、count 変数は何の情報も返しません。

アイデアや提案をいただければ幸いです。

ありがとう

スタン

4

3 に答える 3

7

結果をエコーし​​ますが、関数からは返しません。それがおそらく問題です。

ただし、パーセンテージの計算はすべてSQLで実行できます。

SELECT 100*( SELECT COUNT(*) FROM table1 ) / ( SELECT COUNT(*) FROM table2 )
    AS percent;

さもないと、

function percent($num, $total)
{
    return number_format((100.0*$num)/$total, 2);
}
于 2012-09-23T21:18:34.783 に答える
1

私の推測では、このようなものはおそらく機能するはずです(私はこれをテストしていないので、おそらく微調整が必​​要です):

<?php

//TOTAL ENTRIES INTO Table 1 FOR total data
$result   = mysql_query("SELECT COUNT(*) AS total FROM table1");
$table1_total = mysql_result($result, 0);

 //TOTAL ENTRIES IN Table 2  FOR THE PERCENTAGE
$result2 = mysql_query("SELECT COUNT(*) AS total FROM table2");
$table2_total = mysql_result($result2, 0);

function percent($num_amount, $num_total) {
    $count1 = $num_amount / $num_total;
    $count2 = $count1 * 100;
    $count3 = 100 - $count2;
    $count = number_format($count3, 0);
    echo $count;
}

percent($table1_total, $table2_total);
于 2012-09-23T21:20:55.857 に答える
0

これを試して:

    <?php

    function percent($num_amount, $num_total) {
     $count1 = $num_amount / $num_total;
     $count2 = $count1 * 100;
     $count = number_format($count2, 0);
     echo $count2."<br>";
     }

     percent(50,100);
     percent(13,100);
     percent(13,200);

    ?>
于 2012-09-23T21:23:48.527 に答える