2012-09-23 86 views
1

我想从另一个PHP变量的百分比,例如我有两个数据库的信息,第一个数据库充满了不明身份的信息。第二个数据库充满了我们已经确定的信息。所以我想动态地计算出所有信息的百分比。从另一个PHP变量获取一个百分比

下面是一个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; 
} 

两个查询返回数据库中的数行总数的正确的信息,但是计数变量不返回任何信息。

任何意见或建议,将不胜感激。

感谢

斯坦

+0

如果你不打算使用查询的结果,你应该改为'SELECT COUNT(*)FROM table;'。 –

+2

为什么你需要'$ count3 = 100 - $ count2;'??? '$ count2 = $ count1 * 100;'给你的百分比 – Baba

回答

6

您回应的结果,但你不从函数返回。这可能是问题所在。

但是,你能做到的百分比计算所有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); 
} 
+0

谢谢,直接在SQl中做它使得它变得容易很多,非常感谢。 –

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); 
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); 

    ?> 
相关问题