Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/253.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
两个数据由用户使用PHP进行计算_Php - Fatal编程技术网

两个数据由用户使用PHP进行计算

两个数据由用户使用PHP进行计算,php,Php,我可以知道PHP中的等式是如何工作的吗?我所有的数据都可以很好地提取出来,但是我如何才能从用户那里获得两个数据,它们是$method=$\u get['method']和$valueinsert=$\u GET['valueinsert'] $valueinsert=$_GET['valueinsert']; $method=$_GET['method']; error_reporting(E_ALL

我可以知道PHP中的等式是如何工作的吗?我所有的数据都可以很好地提取出来,但是我如何才能从用户那里获得两个数据,它们是
$method=$\u get['method']
$valueinsert=$\u GET['valueinsert']

$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>";
                        ?>
$valueinsert=$\u GET['valueinsert'];
$method=$_GET['method'];
错误报告(E_全部^E_已弃用);
//连接到服务器
$connect=mysql_connect(“127.0.0.1”,“根”,“根”);
//$conn=newmysqli($servername、$username、$password);
如果(!$connect)
{
die('无法连接:'.mysql_错误($connect));
}
//连接到数据库
mysql_select_db(“fyp”,$connect);
$query5=“从‘表1’中选择方法、总和(收入)、总和(成本),其中方法=‘$method’;
$result5=mysql\u query($query5)或die(mysql\u error());
$sql=“从`table 1`中选择*method='$method'”;
$query=mysql\u查询($sql,$connect);
回声“;
回声“;
回声“$方法”;
回声“
”; 而($row=mysql\u fetch\u数组($result5)){ echo“总利润=RM”。四舍五入($row['SUM(收入)]-($row['SUM(成本)]-'valueinsert'),2); 回声“
”; } 回声“; ?>
将查询更改为

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

您也可以直接在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'"; 

查看数组结构,您将知道要使用的索引(
print\r($row)
var\u dump($row)
)。您还可以接受SQL注入。从数据库检索到的每一列都是一个单独的列
($row['SUM(Revenue)]-$row['SUM(cost)]/$row['SUM(Revenue)]
您试图对其进行舍入吗<代码>四舍五入($row['(总额(收入)-总额(成本))/SUM(收入)”,2)?在继续之前,您应该先观看或阅读一些php教程。您的示例反映了对类型转换、数组索引、指针和超全局函数如何工作的深刻误解。去学一点,然后回来,我们会回答。首先,你的疑问是错误的。最后您需要一个
分组方法
,而且,如果您没有为字段定义任何别名,则应按原样使用,因此
总和(收入)
!=
SUM(revenue)
更好的方法是定义别名,例如:
SELECT Method,SUM(cost)as sumCost,SUM(revenue)sumRevenue
并在php代码中使用这些别名。同时考虑更改< <代码> MySqL**<代码> > <代码> MySqLI**<代码>或PDO<代码> MySqL**函数。