0

これに似たSQLでデータベース(テーブル)を作成しました。

   x   y   z
1  x1  y1  z1
2  x2  y2  z2

これは私が作成したテーブルです。今度は、PHPを使用して計算を行いたいと思います。データを取得して計算するにはどうすればよいですか?DBテーブルからデータを取得してPHP変数に保存するにはどうすればよいですか?

function ans($x1, $y2, $z2)
{
#a = x1 - y2;
#z2 = $z2 -$a;
}
4

2 に答える 2

1

コードは次のようになります。

<?php

 $con = mysql_connect("localhost","username","password");
 if (!$con)
   {
   die('Could not connect: ' . mysql_error());
   }

mysql_select_db("database", $con);

$xAnswer = 0;
$yAnswer = 0;
$zAnswer = 0;

$result = mysql_query("SELECT x,y,z FROM MathTable");

while($row = mysql_fetch_array($result))
   {
     $xAnswer = Add($row["x"],$row["y"]);
     $yAnswer = Multiply($row["z"],$row["y"]);
     $zAnswer = Subtract($row["z"],$row["x"]);
   }

mysql_close($con);


    function Add($x,$y)
    {
       return $x + $y;
    }

    function Subtract($x,$y)
    {
       return $x-$y;
    }

    function Multiply($x,$y)
    {
       return $x*$y;
    }

    function Divide($x,$y)
    {
       return $x/$y;
        }
 ?>

または、次のように sql で数学を処理し、答えを変数にプルすることもできます。

SELECT (x+y) AS Add,(x-y) AS Subtract,(z/x) AS Divide FROM MathTable

レコードセットのループは次のようになります

while($row = mysql_fetch_array($result))
       {
         $xAnswer = $row["Add"];
         $yAnswer = $row["Subtract"];
         $zAnswer = $row["Divide "];
       }

テーブル内のレコードの量が原因で、ループがインクリメントするたびに変数の答えが異なることに注意してください。そのため、現在の合計が必要になる場合があります。または、上記の例の変数を使用して内部で現在の合計を維持することもできます。

$xAnswer = $xAnswer  + $row["Add"];
于 2012-07-20T05:42:38.347 に答える
0

mysql_connect は非推奨になります。 http://php.net/manual/en/function.mysql-connect.php

代わりに mysqli を使用して ください http://www.php.net/manual/en/book.mysqli.php

于 2012-07-20T10:48:38.753 に答える