2016-07-25 3 views
-5

PHPの式がどのくらい正確に機能するか知っていますか?私のすべてのデータはうまく抽出できますが、どのようにして$method=$_GET['method'];$valueinsert=$_GET['valueinsert'];という2つのデータをユーザーから取得できますか?ユーザーからの2つのデータPHPを使用した計算

$valueinsert=$_GET['valueinsert']; 
         $method=$_GET['method']; 
         error_reporting(E_ALL^E_DEPRECATED); 
         //connect to the server 
         $connect= mysql_connect("127.0.0.1","root",""); 
         //$conn = new mysqli($servername, $username, $password); 
         if(!$connect) 
         { 
         die('Could not connect: '.mysql_error($connect)); 
         } 
         //connect to the database 
         mysql_select_db("fyp",$connect); 

         $query5 = "SELECT method, SUM(revenue), SUM(cost) FROM `table 1` WHERE method = '$method'"; 
         $result5 = mysql_query($query5) or die(mysql_error()); 

         $sql="SELECT * FROM `table 1` WHERE method='$method'"; 
         $query=mysql_query($sql,$connect); 

         echo"<table align=center width='80%'>"; 
          echo"<td valign='top' width='20%'> "; 
          echo "<b><u>$method </u></b>" ; 
           echo "</br>"; 
           while($row = mysql_fetch_array($result5)){ 
            echo "Total Profit = RM ". round($row['SUM(revenue)']- ($row['SUM(cost)']- '$valueinsert') ,2); 
            echo "<br />"; 
           } 

         echo"</table>"; 
         ?> 
+0

を結果を得ることができ、あなたの配列構造を見て、あなたはインデックスが使用することを知っているだろう( 'print_r($ row)'または 'var_dump($ row)')を使用します。また、SQLインジェクションも可能です。 – chris85

+0

データベースから取得された各列は、 '$([SUM(Revenue) '] - $ row [' SUM(cost) '])/ $ row [' SUM(Revenue) ']' –

+0

それを丸める? 'round($ row ['(SUM(Revenue)-SUM(cost))/ SUM(Revenue)']、2);'? –

答えて

0

変更結果側のフェッチでこの

方法1

$query4 = "SELECT Method, SUM(cost) as cost, SUM(revenue) as revenue FROM `table 1` WHERE Method = '$Method'"; 

ともクエリ。この

echo "Total Gross Margin = RM ". round($row['revenue']- $row['cost']/$row['revenue'],2); 

方法2

echo "Total Gross Margin = RM ". round($row['(SUM(Revenue)-SUM(cost))/SUM(Revenue)'],2); 
2

ようにする必要がありますが、SQLで直接あまりに

"SELECT 
    Method 
    , SUM(cost) as cost 
    , SUM(revenue) as revenue 
    , (SUM(Revenue)-SUM(cost))/SUM(Revenue) as result 
    FROM `table 1` 
    WHERE Method = '$Method'"; 
関連する問題