mysql - php excel 匯入 匯入三級分類 表格該怎麼設計才能得到想要的資料格式?
就是多個1級分類下面有不確定個二級分類二級分類下面有不確定個三級分類我想獲取到相關的數據組合寫入數據庫但是這個格式不知道怎麼排才能獲取到對的數據
有空的親們給看看幫下謝謝
有沒有辦法取得整列的值 然後根據長度去區分2列 然後再區分三列
現在取得到的資料格式是按行的 1 2 3 。 。 。
上圖
上印製的資料
<code>array (size=16) 0 => array (size=7) 0 => float 1 1 => string '销售部' (length=9) 2 => string '销售1区' (length=10) 3 => string '销售1科室' (length=13) 4 => null 5 => null 6 => null 1 => array (size=7) 0 => float 2 1 => null 2 => null 3 => string '销售2科室' (length=13) 4 => null 5 => null 6 => null 2 => array (size=7) 0 => float 3 1 => null 2 => null 3 => string '销售3科室' (length=13) 4 => null 5 => null 6 => null 3 => array (size=7) 0 => float 4 1 => null 2 => null 3 => string '销售4科室' (length=13) 4 => null 5 => null 6 => null 4 => array (size=7) 0 => float 5 1 => null 2 => string '销售2区' (length=10) 3 => string '销售1科室' (length=13) 4 => null 5 => null 6 => null 5 => array (size=7) 0 => float 6 1 => null 2 => null 3 => string '销售2科室' (length=13) 4 => null 5 => null 6 => null 6 => array (size=7) 0 => float 7 1 => null 2 => null 3 => string '销售3科室' (length=13) 4 => null 5 => null 6 => null 7 => array (size=7) 0 => float 8 1 => null 2 => null 3 => string '销售4科室' (length=13) 4 => null 5 => null 6 => null 8 => array (size=7) 0 => float 9 1 => string '市场部' (length=9) 2 => string '市场1区' (length=10) 3 => string '市场1科室' (length=13) 4 => null 5 => null 6 => null 9 => array (size=7) 0 => float 10 1 => null 2 => null 3 => string '市场2科室' (length=13) 4 => null 5 => null 6 => null 10 => array (size=7) 0 => float 11 1 => null 2 => null 3 => string '市场3科室' (length=13) 4 => null 5 => null 6 => null 11 => array (size=7) 0 => float 12 1 => null 2 => null 3 => string '市场4科室' (length=13) 4 => null 5 => null 6 => null 12 => array (size=7) 0 => float 13 1 => null 2 => string '市场2区' (length=10) 3 => string '市场1科室' (length=13) 4 => null 5 => null 6 => null 13 => array (size=7) 0 => float 14 1 => null 2 => null 3 => string '市场2科室' (length=13) 4 => null 5 => null 6 => null 14 => array (size=7) 0 => float 15 1 => null 2 => null 3 => string '市场3科室' (length=13) 4 => null 5 => null 6 => null 15 => array (size=7) 0 => float 16 1 => null 2 => null 3 => string '市场4科室' (length=13) 4 => null 5 => null 6 => null</code>
回覆內容:
就是多個1級分類下面有不確定個二級分類二級分類下面有不確定個三級分類我想獲取到相關的數據組合寫入數據庫但是這個格式不知道怎麼排才能獲取到對的數據
有空的親們給看看幫下謝謝
有沒有辦法取得整列的值 然後根據長度去區分2列 然後再區分三列
現在取得到的資料格式是按行的 1 2 3 。 。 。
上圖
上印製的資料
<code>array (size=16) 0 => array (size=7) 0 => float 1 1 => string '销售部' (length=9) 2 => string '销售1区' (length=10) 3 => string '销售1科室' (length=13) 4 => null 5 => null 6 => null 1 => array (size=7) 0 => float 2 1 => null 2 => null 3 => string '销售2科室' (length=13) 4 => null 5 => null 6 => null 2 => array (size=7) 0 => float 3 1 => null 2 => null 3 => string '销售3科室' (length=13) 4 => null 5 => null 6 => null 3 => array (size=7) 0 => float 4 1 => null 2 => null 3 => string '销售4科室' (length=13) 4 => null 5 => null 6 => null 4 => array (size=7) 0 => float 5 1 => null 2 => string '销售2区' (length=10) 3 => string '销售1科室' (length=13) 4 => null 5 => null 6 => null 5 => array (size=7) 0 => float 6 1 => null 2 => null 3 => string '销售2科室' (length=13) 4 => null 5 => null 6 => null 6 => array (size=7) 0 => float 7 1 => null 2 => null 3 => string '销售3科室' (length=13) 4 => null 5 => null 6 => null 7 => array (size=7) 0 => float 8 1 => null 2 => null 3 => string '销售4科室' (length=13) 4 => null 5 => null 6 => null 8 => array (size=7) 0 => float 9 1 => string '市场部' (length=9) 2 => string '市场1区' (length=10) 3 => string '市场1科室' (length=13) 4 => null 5 => null 6 => null 9 => array (size=7) 0 => float 10 1 => null 2 => null 3 => string '市场2科室' (length=13) 4 => null 5 => null 6 => null 10 => array (size=7) 0 => float 11 1 => null 2 => null 3 => string '市场3科室' (length=13) 4 => null 5 => null 6 => null 11 => array (size=7) 0 => float 12 1 => null 2 => null 3 => string '市场4科室' (length=13) 4 => null 5 => null 6 => null 12 => array (size=7) 0 => float 13 1 => null 2 => string '市场2区' (length=10) 3 => string '市场1科室' (length=13) 4 => null 5 => null 6 => null 13 => array (size=7) 0 => float 14 1 => null 2 => null 3 => string '市场2科室' (length=13) 4 => null 5 => null 6 => null 14 => array (size=7) 0 => float 15 1 => null 2 => null 3 => string '市场3科室' (length=13) 4 => null 5 => null 6 => null 15 => array (size=7) 0 => float 16 1 => null 2 => null 3 => string '市场4科室' (length=13) 4 => null 5 => null 6 => null</code>
把 Excel 裡面資料讀出到一個二維陣列裡面就不用我教你了吧,下面直接上程式碼。
<code><?php $lines = [ ['销售部', '销售1区', '销售1科室'], ['', '', '销售2科室'], ['', '', '销售3科室'], ['', '', '销售4科室'], ['', '销售2区', '销售1科室'], ['', '', '销售2科室'], ['', '', '销售3科室'], ['', '', '销售4科室'], ['市场部', '市场1区', '市场1科室'], ['', '', '市场2科室'], ['', '', '市场3科室'], ['', '', '市场4科室'], ['', '市场2区', '市场1科室'], ['', '', '市场2科室'], ['', '', '市场3科室'], ['', '', '市场4科室'], ]; $formatedData = []; foreach ($lines as $line) { if (!empty($line[0])) { $level1 = $line[0]; $formatedData[$level1] = []; } if (!empty($line[1])) { $level2 = $line[1]; $formatedData[$level1][$level2] = []; } if (!empty($line[2])) { $level3 = $line[2]; $formatedData[$level1][$level2][] = $level3; } } print_r($formatedData);</code>
程式運作結果為:
Array
(
<code>[销售部] => Array ( [销售1区] => Array ( [0] => 销售1科室 [1] => 销售2科室 [2] => 销售3科室 [3] => 销售4科室 ) [销售2区] => Array ( [0] => 销售1科室 [1] => 销售2科室 [2] => 销售3科室 [3] => 销售4科室 ) ) [市场部] => Array ( [市场1区] => Array ( [0] => 市场1科室 [1] => 市场2科室 [2] => 市场3科室 [3] => 市场4科室 ) [市场2区] => Array ( [0] => 市场1科室 [1] => 市场2科室 [2] => 市场3科室 [3] => 市场4科室 ) ) </code>
)
我的做法從分類那一列開始標記cat1,cat2,cat3,然後後台用個for循環出來
就按照採納的可以獲取到想要格式的數據很正確但是如果想對操作的一些數據進行判斷還是比較麻煩的或者說可能判斷不了比如三級分類判斷他的父級存在不存在是判斷不了的只能判斷有就添加子集沒有就添加一個新的總體感覺這個需求的格式還是有待調整存在一些問題我這裡可能是內部使用要求不那麼嚴格嚴格要求的還是不能用這種格式

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

熱門話題

使用 Navicat Premium 創建數據庫:連接到數據庫服務器並輸入連接參數。右鍵單擊服務器並選擇“創建數據庫”。輸入新數據庫的名稱和指定字符集和排序規則。連接到新數據庫並在“對象瀏覽器”中創建表。右鍵單擊表並選擇“插入數據”來插入數據。

MySQL是一個開源的關係型數據庫管理系統。 1)創建數據庫和表:使用CREATEDATABASE和CREATETABLE命令。 2)基本操作:INSERT、UPDATE、DELETE和SELECT。 3)高級操作:JOIN、子查詢和事務處理。 4)調試技巧:檢查語法、數據類型和權限。 5)優化建議:使用索引、避免SELECT*和使用事務。

PHP的未來將通過適應新技術趨勢和引入創新特性來實現:1)適應云計算、容器化和微服務架構,支持Docker和Kubernetes;2)引入JIT編譯器和枚舉類型,提升性能和數據處理效率;3)持續優化性能和推廣最佳實踐。

MySQL和SQL是開發者必備技能。 1.MySQL是開源的關係型數據庫管理系統,SQL是用於管理和操作數據庫的標準語言。 2.MySQL通過高效的數據存儲和檢索功能支持多種存儲引擎,SQL通過簡單語句完成複雜數據操作。 3.使用示例包括基本查詢和高級查詢,如按條件過濾和排序。 4.常見錯誤包括語法錯誤和性能問題,可通過檢查SQL語句和使用EXPLAIN命令優化。 5.性能優化技巧包括使用索引、避免全表掃描、優化JOIN操作和提升代碼可讀性。

PHP和Python各有優勢,選擇應基於項目需求。 1.PHP適合web開發,語法簡單,執行效率高。 2.Python適用於數據科學和機器學習,語法簡潔,庫豐富。

可在 Navicat 中通過以下步驟新建 MySQL 連接:打開應用程序並選擇“新建連接”(Ctrl N)。選擇“MySQL”作為連接類型。輸入主機名/IP 地址、端口、用戶名和密碼。 (可選)配置高級選項。保存連接並輸入連接名稱。

PHP不是在消亡,而是在不斷適應和進化。 1)PHP從1994年起經歷多次版本迭代,適應新技術趨勢。 2)目前廣泛應用於電子商務、內容管理系統等領域。 3)PHP8引入JIT編譯器等功能,提升性能和現代化。 4)使用OPcache和遵循PSR-12標準可優化性能和代碼質量。

直接從數據庫中恢復被刪除的行通常是不可能的,除非有備份或事務回滾機制。關鍵點:事務回滾:在事務未提交前執行ROLLBACK可恢復數據。備份:定期備份數據庫可用於快速恢復數據。數據庫快照:可創建數據庫只讀副本,在數據誤刪後恢復數據。慎用DELETE語句:仔細檢查條件,避免誤刪數據。使用WHERE子句:明確指定要刪除的數據。使用測試環境:在執行DELETE操作前進行測試。
