亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

對數據庫中的每個數據進行數學運算 sql 將結果發布到 php 中的數據庫

對數據庫中的每個數據進行數學運算 sql 將結果發布到 php 中的數據庫

PHP
紫衣仙女 2023-09-15 21:07:23
我想從我的 2 個 sql 數據庫中獲取數據并進行一些數學運算并將結果發布到數據庫中假設我的 table1 是這樣的+---+---+----------------------------+| A | B |             C              |+---+---+----------------------------+| 2 | 9 | result from A*B*D*E in php || 1 | 8 | result from A*B*D*E in php || 4 | 7 | result from A*B*D*E in php || 3 | 6 | result from A*B*D*E in php || 6 | 5 | result from A*B*D*E in php || 6 | 5 | result from A*B*D*E in php || 5 | 4 | result from A*B*D*E in php |+---+---+----------------------------+我的 table2 是這樣的+---+----+| D | E  |+---+----+| 1 | 9  || 2 | 7  || 3 | 8  || 4 | 6  || 5 | 5  || 6 | 3  || 7 | 2  |+---+----+到目前為止我做了什么  // database connection  include_once("config.php");  // Query  $query = mysqli_query($conn, "SELECT * FROM table1");  $query2 = mysqli_query($conn, "SELECT * FROM table2");  //Source1        while($user_data1 = mysqli_fetch_array($query))   {     $A[] = $user_data1['A'];     $B[] = $user_data1['B'];  }      //Source2  while($user_data2 = mysqli_fetch_array($query2))   {    $D[] = $user_data2['D'];    $E[] = $user_data2['E'];  }  foreach (array_combine($A, $B) as $ValueA=> $ValueB)  {    foreach (array_combine($D, $E) as $ValueD=> $ValueE)    {      $result1 = $ValueA*$ValueB*ValueD*ValueE;      $val = 0.123;      $result2[] = $result1*$val;    }        $final result = min($result2);    echo round($final result, 2);    unset($result2);  }我還沒有插入數據庫,但如果數學正確的話,仍然回顯調試,不知何故,此代碼發現了一些錯誤,例如使用我的數據庫,最終結果僅回顯/顯示 6 個數學結果,因為在 table1 中,第 5 行和第 6 行具有相同的數據我的 table1 和 2 中的課程有主鍵
查看完整描述

2 回答

?
慕尼黑的夜晚無繁華

TA貢獻1864條經驗 獲得超6個贊

在這種情況下要更改 C,您甚至不需要 PHP。,要使用多個表更新 MySQL 中的值,只需在選擇表時添加它們,如下所示:

UPDATE table1,table2 SET C = table1.A * table1.B * table2.D * table2.E WHERE C IS NULL;

執行此代碼一次將更新所有行,以便C = A*B*D*E根據需要在 C 尚未設置或為 NULL 的情況下更新。如果您想更新所有行,只需刪除WHERE條件即可

注意:有時(至少對我來說)當 SQL 查詢中沒有 WHERE 條件時,SQL 會發出警告。要繞過這個,只需WHERE 1=1在末尾添加即可。


查看完整回答
反對 回復 2023-09-15
?
長風秋雁

TA貢獻1757條經驗 獲得超7個贊

只是為了我的理解:你想計算一個值來計算,你需要表 1 中的一些明確的數據,但也需要表 2 中的一些數據,但是哪一個?我想您想使用同一行中的數據(因此 table1 中的第 1 行和 table2 中的第 1 行、表 1 中的第 2 行和 table2 中的第 2 行),對嗎?現在你遇到了一個問題,因為當你創建一個時,select * from table你不知道他們從數據庫中返回的順序。大多數情況下,它可能與您輸入的順序相同,但沒有保證。你說過每個表都有一個主鍵,你是如何定義它們的?我猜你可能有一個 id 列,所以你可以在該 id 上加入你的表?



查看完整回答
反對 回復 2023-09-15
  • 2 回答
  • 0 關注
  • 122 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號