日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > php >内容正文

php

php增加数量,php – 更新列数量

發布時間:2025/4/5 php 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 php增加数量,php – 更新列数量 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

我有這個表模式和數據,我不知道如何更新所有parentid 7,5和1如果在parentid 7下添加了新成員示例新添加的是10.然后他所有的parentid都在樹上(注意:最多10個父母只開始parentid 7在樹上可以更新那里數量)7,5和1將被添加到500.

CREATE TABLE `mytree` (

`pid` INT(11) NOT NULL,

`memd` INT(11) NOT NULL,

`position` CHAR(1) NOT NULL,

`amount` DECIMAL(10,2) NOT NULL

)

COLLATE='latin1_swedish_ci'

ENGINE=MyISAM

;

pid memd position amount

0 1 1000.00

1 5 L 500.00

1 6 R 0.00

5 7 L 0.00

5 8 R 0.00

7 9 L 0.00

這是我的樹.

添加新成員10后

pid memd position amount

0 1 1500.00

1 5 L 1000.00

1 6 R 0.00

5 7 L 500.00

5 8 R 0.00

7 9 L 0.00

7 10 R 0.00

編輯

如果父母沒有孩子然后添加了新的孩子,則父母不能收到500,或者父母的數量沒有更新.

編輯最新的問題

問題如果我有一個孩子的系列,然后其中一個孩子配對.,它只會更新他的直接父母的數量,他的父母的上述父母等..,沒有更新,我怎么能更新他的父母即使它只有1個孩子,例9和10也應該收到金額,因為他們是’11’的父母

pid memd position amount

0 1 1500.00

1 5 L 1000.00

1 6 R 0.00

5 7 L 500.00

5 8 R 0.00

7 9 L 0.00

9 10 L 0.00

10 11 L 0.00

11 12 L 0.00

11 13 R 0.00

我怎樣才能做到這一點.

先感謝您.

解決方法:

我想這就是你想要的

create procedure sp_update_amt(IN p_mem INT)

BEGIN

declare cnt INT;

declare par_id INT;

declare cntr INT;

declare m_mem INT;

declare s_str VARCHAR(512);

set cntr=1;

set par_id = 1;

set m_mem = p_mem;

set s_str = '';

proc_label:BEGIN

WHILE par_id != 0 DO

SELECT pid INTO par_id FROM mytree WHERE memd=m_mem;

select count(*) into cnt FROM mytree WHERE pid=par_id;

set s_str = CONCAT(s_str,cnt,cntr,par_id,m_mem,',');

set cntr = cntr+1;

set m_mem = par_id;

IF cntr <=10 THEN

update mytree set amount = amount+500

where memd=par_id;

ELSE

update mytree set amount = amount+200

where memd=par_id;

END IF;

END WHILE;

end;

SELECT s_str;

END;

嘗試上面的代碼認為這將工作并解決您的問題

有關詳細信息,請查看link

編輯和更新的代碼

我認為這將解決您的要求.

create procedure sp_update_amt(IN p_mem INT)

BEGIN

declare cnt INT;

declare par_id INT;

declare cntr INT;

declare m_mem INT;

declare s_str VARCHAR(512);

set cntr=1;

set par_id = 1;

set m_mem = p_mem;

set s_str = '';

proc_label:BEGIN

WHILE par_id != 0 DO

SELECT pid INTO par_id FROM mytree WHERE memd=m_mem;

select count(*) into cnt FROM mytree WHERE pid=par_id;

set s_str = CONCAT(s_str,cnt,cntr,par_id,m_mem,',');

set m_mem = par_id;

IF cnt = 2 OR cntr > 1 THEN

IF cntr <= 10 THEN

update mytree set amount = amount +500

where memd=par_id;

ELSE

update mytree set amount = amount+200

where memd=par_id;

END IF;

ELSE

LEAVE proc_label;

END IF;

set cntr = cntr+1;

END WHILE;

end;

SELECT s_str;

END;

檢查數據和代碼updated的鏈接

標簽:php,mysql,database,sql

來源: https://codeday.me/bug/20190612/1223794.html

《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀

總結

以上是生活随笔為你收集整理的php增加数量,php – 更新列数量的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。