2012-07-20 57 views
0

我在SQL中創建了一個類似於此的數據庫(表)。使用PHP從數據庫檢索數據

x y z 
1 x1 y1 z1 
2 x2 y2 z2 

這是我創建的表格;現在我想用PHP做一些數學運算。我如何檢索數據並對其進行數學運算? 如何從數據庫表中獲取數據並將它們保存在PHP變量中?

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

你詢問如何執行select查詢? – 2012-07-20 05:25:50

+0

您正在使用哪些DBMS?你是如何創建表格並加載數據的? – 2012-07-20 05:46:12

+0

我正在使用www.000webhost.com,首先我創建數據庫在SQL比我使用phpmyadmin。 – 2012-07-20 07:37:27

回答

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"]; 
+0

請確保所有變量的轉換也被考慮在內。做數學字符串必須轉換爲int或浮點數等 – 2012-07-20 05:44:13

+0

感謝您的回答,它幫助了我很多。 – 2012-07-20 07:37:57

+0

感謝您的回答,它幫助了我很多。你能告訴我如何從大量的行訪問表中的特定元素。通過使用 。 SELECT X_colm FROM MY_TABLE WHERE ID = 2; SELECT Y_colm FROM MY_TABLE WHERE ID = 6;我想要這樣的一些東西...你用while循環它將繼續連續。我可以訪問特定的行。 – 2012-07-20 07:43:36