台灣最大程式設計社群網站
線上人數
1064
 
會員總數:245134
討論主題:189040
歡迎您免費加入會員
討論區列表 >> PHP >> 新增子公司資料
[]  
[我要回覆]
1
回應主題 加入我的關注話題 檢舉此篇討論 將提問者加入個人黑名單
新增子公司資料
價值 : 100 QP  點閱數:808 回應數:15

樓主

T574
門外漢
0 6
114 10
發送站內信

目前有二個資料表,A母公司基本資料,B子公司基本資料.
希望在填寫母公司資料時也一併填寫子公司的資料,當然
子公司有可能不止一家,請教各位如何來做?
A資料表
id 自己編號
name 母公司名稱
phone 電話
.
.
.

B資料表
b_id 自動編號
id 母公司主鍵
b_name 子公司名稱
.
.
.
.





搜尋相關Tags的文章: [ 新增子公司資料 ] ,
本篇文章發表於2017-05-22 16:47
別忘捐VP感謝幫助你的人 新手會員瞧一瞧
1樓
最有價值解答

彩虹
檢舉此回應
你需要要下兩次SQL指令,先撈母公司,再撈子公司

假設母公司id=99
id name phone
99 XX公司 02-1234-5678

假設子公司有三間
b_id id b_name
1 99 子公司1
2 99 子公司2
3 99 子公司3

1.一樣先把母公司的資料帶出來
select * from A where id=99
把值丟掉表單上
<input type="text" name="id" value="<?php echo $company["id"];?>">
<input type="text" name="name" value="<?php echo $company["name"];?>">

2.撈出所有子公司的資料 (透過母公司的主鍵)
select * from B where id=99
這時候你就會抓出三間子公司
然後透過while,把資料丟到表單input陣列裡面 (注意下方的name,使用了[],name="xxx[]")

例如:


3.更新資料按鈕送出後,先針對母公司把資料更新回去

4.再接著跑回圈,將子公司的$_POST陣列,跑迴圈更新回去

5.結案


基本上已經全部說完了,希望你能理解,或多多思考
不懂再提問



本篇文章回覆於2017-05-22 17:25
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
2樓
作者回應

T574
檢舉此回應
您的意思是先設一個母公司的表單填完資料,再設子公司的表單取出母公司id,利用
陣列存入子公司的資料嗎?如果是這樣,好像不是很方便.謝謝您的回覆.
本篇文章回覆於2017-05-23 10:27
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
3樓
回應

彩虹
檢舉此回應
我什麼時候跟你說要先填完母公司資料才能設子公司資料??
我只是說帶入資料的順序

然後將母公司資料、子公司資料,全部丟到同一個form表單裡面,我沒有叫你開兩個表單呀
最後送出資料時,看你要先處理母公司或子公司都可以

對吧?
本篇文章回覆於2017-05-23 10:57
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
4樓
作者回應

T574
檢舉此回應
有點不明白,不先填資料如何撈資料?
本篇文章回覆於2017-05-23 11:18
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
5樓
回應

彩虹
檢舉此回應
一個表單就可以填所有資料,但是前提是你要知道怎麼帶入資料,所以我在#1樓才會分步驟跟你說,而子公司要用陣列名稱

我覺得我還是先刻一下html讓你看一下,希望你能理解,剩下你再想想吧

本篇文章回覆於2017-05-23 11:37
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
6樓
回應

彩虹
檢舉此回應
所以你現在是要新增一個新的母公司、新的子公司資料嗎??
流程當然就不一樣,我以為你只是要更新現有資料

表單大致上長這樣子,如下


1.送出表單後,接著由PHP端處理時,先把母公司資料insert到資料庫,塞入的同時,記得取last_id (也就是母公司id)
insert into A資料表 (name,phone) value ('母公司名稱','母公司電話')
然後取last_id

2.然後接著處理【子公司input陣列】,要insert到子公司資料表時,把剛剛取得的母公司id,同時insert進去
while(....){
 //insert into B資料表 (id,b_name) value (母公司last_id,'子公司名稱')
}
3.結案





本篇文章回覆於2017-05-23 11:52
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
7樓
回應

浩瀚星空
捐贈 VP 給 浩瀚星空 檢舉此回應
這個問題,其實不該從怎麼寫程式來談起。
要先決定好資料的結構定向。

要先了解子公司的需要欄位資料,多還是少。
是否需要用主從式的附屬法,還是用上下級對應法

主從式的附屬法是指將子公司只填不相同的欄位。
一般用此方式是指子公司只需要填少部份的資料,其它都是對應母公司。
才會用此主從式的處理方式

上下級對應的方式。是所有的公司都是個別的資料。只差有附屬關係而已。
大多數而言會比較偏向這種做法。
本篇文章回覆於2017-05-23 12:07
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
8樓
作者回應

T574
檢舉此回應
感謝版主讓我可以從另一個角度思考結構的問題.
更感謝彩虹耐心的指導,我比較有興趣的是動態新增欄位的做法,是不是可以教一下?
本篇文章回覆於2017-05-23 15:50
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
9樓
回應

彩虹
檢舉此回應
你可以參考此篇,或者上網找其他方式,關鍵字 "Jquery動態新增input"

jQuery 動態新增及移除_Dynamic add and remove block(.append(), .remove())
http://imdori.blogspot.tw/2013/08/jquery-dynamic-add-and-remove.html

把程式碼貼回去使用看看,希望你能舉一反三修改成你需要的
範例如下

本篇文章回覆於2017-05-23 16:08
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
10樓
作者回應

T574
檢舉此回應
怪了!無法結案嗎?
本篇文章回覆於2017-05-24 10:47
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
11樓
回應

彩虹
檢舉此回應
你說設定最佳解答嗎?

大頭像下面或旁邊應該有個「接受」按鈕


這邊有使用教學喔

如何關閉討論串
http://www.blueshop.com.tw/QA/QA_2.asp

下面有個word檔案,有操作範例
<< 下載設定點數關閉討論串範例介紹檔案 >>
http://www.blueshop.com.tw/QA/closediscussion.doc
本篇文章回覆於2017-05-24 12:36
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
12樓
作者回應

T574
檢舉此回應
說我輸入有誤,請做檢查!
不就按個接受,還要檢查什麼呢???
本篇文章回覆於2017-05-24 16:23
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
13樓
回應

彩虹
檢舉此回應
QQ...
我也沒實際操作過,你查看一下在#11樓提供的範例(word檔案)
看一下是不是什麼步驟少了?

如果只設定一個最佳解答,則不用打點數
如果有多個回復對你是有益的,則需要依依分配點數

如果真的一樣失敗
我這邊可以請版主協助處理~
看你要如何分配分數,交由版主代為結案
本篇文章回覆於2017-05-24 16:41
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
14樓
回應

彩虹
檢舉此回應
如果分數不方便直接打在討論串裡面
你也可以使用「發送站內信」功能(大頭照的下方),私訊給我,我再交由版主設定
本篇文章回覆於2017-05-24 16:44
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
15樓
回應

wenquan279
捐贈 VP 給 wenquan279 檢舉此回應
這是一個資料架構的問題,如果是考慮母子公司,那規劃如下
1.公司代號
2.公司名稱
3.公司電話
........
4.母公司代號<--補上這個就可以建構出母子公司的聯連,也可以達成多階層公司的架構~
本篇文章回覆於2017-05-25 12:00
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
   
1

回覆
如要回應,請先登入.