Ajax 板


LINE

因為牽扯到JSON所以就來這個版問了 我現在做了一個問卷系統 可以自行增加問題 而問題有很多種type,每一種type的attibute數量都不同 譬如說..單選題需要"答案選項",但是如果是文字空格就不需要"答案選項", 我現在的作法是把每一題都視作一個物件,傳進php的時候只需要用json stringfy 傳進去,接著把整個stringfy過後的物件存進table裡面, 而table只有兩個欄位,一個是題號一個是stringfy過後的物件 這樣的好處是,我從資料庫拿出來或存進去都不用做非常複雜的分析 query的時候也非常的簡單 存的時候整個丟進去就好了,要用的時候整個拿出來~ 修改也只要覆蓋原本的~ 我的問題是,有需要把物件裡面的元素拆成個別的attibute嗎? 譬如說原本的table是 question_num question_obj 兩欄而已 改成 question_num question_content question_notnull qustion_type ..... --



※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 122.116.233.166 ※ 編輯: tonilin 來自: 122.116.233.166 (01/04 02:20)
1F:→ TonyQ:正規化不是鐵則 , 你的問題應該是看你有沒有需要對你的obj 01/04 09:03
2F:→ TonyQ:做sql層級的成員分析 , 有的話當然是要列出來, 否則不需要 01/04 09:03
3F:→ TonyQ:也就是你會不會對question_content question_notnull 查詢 01/04 09:03
4F:推 zhengyao:我不懂幹嘛這麼省table,集中在1個table的目的是??? 01/04 09:15
5F:→ TonyQ:樓上可以去查查反正規化的理由 XD 01/04 09:26
6F:→ TonyQ:通常不外乎是資料調用上的方便,效能上的需要,對資料關係 01/04 09:27
7F:→ TonyQ:比較不嚴謹的欄位的聚合等 01/04 09:28
8F:推 zhengyao:我覺得資料庫還是能byte就不要str,除非是寫給別人用的^^ 01/04 14:44
9F:推 zhengyao:這case我的正規化是題目和特殊答題方式分兩個網頁編輯... 01/04 15:06
10F:推 zhengyao:然後1樣開這個table來加速select(不能忘本呀,交叉分析用) 01/04 16:03
11F:推 cassatte:我個人會用 serialize 來做儲存 01/04 17:43
12F:→ cassatte:當然這適合小量問卷~ 01/04 17:43
13F:→ tonilin:嗯嗯我瞭解了..我大概會用原本的方式吧.. 01/04 17:58
14F:→ tonilin:畢竟要調用的時候方便多了 01/04 17:58
15F:→ tonilin:而且我不會單獨拿一個問題出來做分析 01/04 18:07
16F:→ tonilin:要拿也是全部拿~所以查詢直接用foreach就好 01/04 18:07
17F:推 Kelunyang:如果問卷資料人家填完之後就不能改,乾脆用檔案記錄算了 01/04 20:46
18F:→ Kelunyang:一堆select真的很浪費資源 01/04 20:46
19F:→ tonilin:沒有,這是問卷設計~問卷資料還有別的table來存 01/04 22:22
20F:推 Kelunyang:那如果是紀錄物件屬性,serialize會比較方便吧? 01/04 23:44
21F:→ Kelunyang:這樣可以隨程式擴充XDDD 01/04 23:45
22F:推 Elly:2欄就夠了呀,不管單選複選文字都放同一欄,複選可用位元運算記 01/05 18:23
23F:→ Elly:如果有其它選項,再讓人填文字,也可以在文字前用符號標示 01/05 18:24
24F:推 zhengyao:連連看呢?有沒有人有做過?要當做很多小項的單選或複選嗎? 01/06 10:57
25F:推 shadowjohn:連連看小弟有做過~正解答案一欄,使用者的答案也一欄 01/06 16:18
26F:→ grence:收回來的問卷結果不用做分析嗎? 01/06 21:48
27F:→ grence:都用 JavaScript在 client端跑?還是 server端也能parse 01/06 21:49
28F:推 cassatte:輸出表格或是CVS,丟進Excel或是其他比較好用的軟體 01/07 02:23
29F:推 Kelunyang:啊,那我要建議原po要記得在CSV的每一格都加上 " " 01/07 02:34
30F:→ tonilin:其實我問的只是"問卷的設計"~收回來的結果是放在別的tabl 01/07 04:43
31F:→ tonilin:e~就是一個問卷會產生一個table 01/07 04:43
32F:→ tonilin:這方法我是參考limesurvey的 01/07 04:44
33F:→ grence:「一個問卷會產生一個table」我覺得這很有問題 01/08 01:18
34F:→ tonilin:可以請教一下是什麼問題嗎@@..因為我看limesurvey也是 01/08 01:25
35F:→ tonilin:這樣做的 01/08 01:25
36F:→ TonyQ:看需要跟問題的回覆有沒有標準化 , 不過基本上來講是不會 01/08 09:22
37F:→ TonyQ:設計自動繁衍的table的... :3 01/08 09:22
38F:推 MonyemLi:以前sa規劃過一個問卷一個table...table流水號命名 01/08 12:08
39F:推 Kelunyang:一個問卷不一個table大量select會不會很浪費資源啊@@? 01/08 13:42
40F:→ Kelunyang:不過我是建議原po既然問卷不會在你的系統裡編輯 01/08 13:43
41F:→ Kelunyang:直接存成純文字檔,用append會比較省事一些吧 01/08 13:43
42F:→ TonyQ:樓上你先查查 index 是幹嘛用的就知道了 XD 01/08 14:39
43F:→ TonyQ:良好索引的table 是不怕查的. 01/08 14:39







like.gif 您可能會有興趣的文章
icon.png[問題/行為] 貓晚上進房間會不會有憋尿問題
icon.pngRe: [閒聊] 選了錯誤的女孩成為魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一張
icon.png[心得] EMS高領長版毛衣.墨小樓MC1002
icon.png[分享] 丹龍隔熱紙GE55+33+22
icon.png[問題] 清洗洗衣機
icon.png[尋物] 窗台下的空間
icon.png[閒聊] 双極の女神1 木魔爵
icon.png[售車] 新竹 1997 march 1297cc 白色 四門
icon.png[討論] 能從照片感受到攝影者心情嗎
icon.png[狂賀] 賀賀賀賀 賀!島村卯月!總選舉NO.1
icon.png[難過] 羨慕白皮膚的女生
icon.png閱讀文章
icon.png[黑特]
icon.png[問題] SBK S1安裝於安全帽位置
icon.png[分享] 舊woo100絕版開箱!!
icon.pngRe: [無言] 關於小包衛生紙
icon.png[開箱] E5-2683V3 RX480Strix 快睿C1 簡單測試
icon.png[心得] 蒼の海賊龍 地獄 執行者16PT
icon.png[售車] 1999年Virage iO 1.8EXi
icon.png[心得] 挑戰33 LV10 獅子座pt solo
icon.png[閒聊] 手把手教你不被桶之新手主購教學
icon.png[分享] Civic Type R 量產版官方照無預警流出
icon.png[售車] Golf 4 2.0 銀色 自排
icon.png[出售] Graco提籃汽座(有底座)2000元誠可議
icon.png[問題] 請問補牙材質掉了還能再補嗎?(台中半年內
icon.png[問題] 44th 單曲 生寫竟然都給重複的啊啊!
icon.png[心得] 華南紅卡/icash 核卡
icon.png[問題] 拔牙矯正這樣正常嗎
icon.png[贈送] 老莫高業 初業 102年版
icon.png[情報] 三大行動支付 本季掀戰火
icon.png[寶寶] 博客來Amos水蠟筆5/1特價五折
icon.pngRe: [心得] 新鮮人一些面試分享
icon.png[心得] 蒼の海賊龍 地獄 麒麟25PT
icon.pngRe: [閒聊] (君の名は。雷慎入) 君名二創漫畫翻譯
icon.pngRe: [閒聊] OGN中場影片:失蹤人口局 (英文字幕)
icon.png[問題] 台灣大哥大4G訊號差
icon.png[出售] [全國]全新千尋侘草LED燈, 水草

請輸入看板名稱,例如:Boy-Girl站內搜尋

TOP