配合上json更好儲存數據
原本是把所有欄位轉成json數據傳送,但如果一堆要存的數據的話
使用的欄位,未免過多,因此找了找些資料,發現可以用TEXT欄位寫所有json數據
再傳到unity解析、更新,這樣就不必花費太多欄位了
一、創建資料庫
PS.用的是xampp
資料庫名稱為unitydatabase
資料表名稱為UserData
兩個欄位 id , data
然後先新增一欄資料,id為1
data 裡面要打什麼都可以
data 裡面要打什麼都可以
二、創建php
其中UnityDatabase是你的數據庫名稱,root是你的帳戶名、root後面的是密碼
我是沒設,所以中間留白
第四行是連接數據庫
第六行sql語句select * form (你的資料表)
最後json_encode();是把剛剛選的資料表內的資料轉換成json格示輸出到網頁上
儲存好後 網頁網址就會是
http://127.0.0.1/DownloadDB.php //等等unity內會用到,要記好路徑
unitydata是自訂義的變數,後面那句 $_POST是跟unity連接的點
$_POST["xxxxx"] xxxxx 是Unity內,表單要傳送的變數名,要記住
其他基本上都一樣,最後一句是更新目前資料庫內data欄位的數據,是用id=1去尋找的
三、創建unity腳本
定義兩個path,用來更新資料庫和下載資料庫
再來創建兩個按鈕,個別執行兩個函數,下載和上傳
定義想要儲存的資料
JsonSave方法是用來把所有儲存的資料轉換成json格式,日後用來上傳到資料庫
定義之前兩個按鈕的方法
downloadjson方法:
使用內建的WWW方法,開啟之前宣告好的path
拿到後,使用JsonMapper方法,將網頁內的json數據拿下來
由於拿下來的數據會包含所有欄位的資料,因此下面的
string jsc = json["Data"].ToString(); 是限定只獲取Data欄位內的資料
為了改變數據,再次將jsc轉換,然後將想要改的資料騰上去
這樣unity內的數據就轉換完成啦
updatajson方法:
宣告個WWWForm,第二行unitydata就是一開始updateDB.php那個post括弧內的String兩個一定要一樣,後面就是要傳入的資料,JsonSave上面有提及,就是所有資料打包成string
OK後,用WWW將form傳入,然後undateDB.php就會更新mysql的資料庫了
四、完成
DownloadDB看起來會是這樣
資料庫內長的像這樣
在unity面板內可以更新,但第一次使用由於Data裡面會是空的
所以下載下來的沒辦法使用,要先update一次才行。
Script內容是這樣
其中UnityDatabase是你的數據庫名稱,root是你的帳戶名、root後面的是密碼
我是沒設,所以中間留白
第四行是連接數據庫
第六行sql語句select * form (你的資料表)
最後json_encode();是把剛剛選的資料表內的資料轉換成json格示輸出到網頁上
儲存好後 網頁網址就會是
http://127.0.0.1/DownloadDB.php //等等unity內會用到,要記好路徑
unitydata是自訂義的變數,後面那句 $_POST是跟unity連接的點
$_POST["xxxxx"] xxxxx 是Unity內,表單要傳送的變數名,要記住
其他基本上都一樣,最後一句是更新目前資料庫內data欄位的數據,是用id=1去尋找的
三、創建unity腳本
定義兩個path,用來更新資料庫和下載資料庫
再來創建兩個按鈕,個別執行兩個函數,下載和上傳
定義想要儲存的資料
JsonSave方法是用來把所有儲存的資料轉換成json格式,日後用來上傳到資料庫
定義之前兩個按鈕的方法
downloadjson方法:
使用內建的WWW方法,開啟之前宣告好的path
拿到後,使用JsonMapper方法,將網頁內的json數據拿下來
由於拿下來的數據會包含所有欄位的資料,因此下面的
string jsc = json["Data"].ToString(); 是限定只獲取Data欄位內的資料
為了改變數據,再次將jsc轉換,然後將想要改的資料騰上去
這樣unity內的數據就轉換完成啦
updatajson方法:
宣告個WWWForm,第二行unitydata就是一開始updateDB.php那個post括弧內的String兩個一定要一樣,後面就是要傳入的資料,JsonSave上面有提及,就是所有資料打包成string
OK後,用WWW將form傳入,然後undateDB.php就會更新mysql的資料庫了
四、完成
DownloadDB看起來會是這樣
資料庫內長的像這樣
在unity面板內可以更新,但第一次使用由於Data裡面會是空的
所以下載下來的沒辦法使用,要先update一次才行。
Script內容是這樣
請問JSONMapper 是哪個dll?
回覆刪除JSON方面是使用這個的哦
刪除https://lbv.github.io/litjson/docs/quickstart.html