2016-03-09 66 views
0

當我查詢數據庫表時,我得到值爲「是」或「否」的記錄,表示是否存在一個項目(該項目是列名稱)。我想創建一個字符串,表示可以通過名稱獲得的產品(而不是我現在正在做的事情「kitchen table =」+ kitchenTable;解決一個JavaScript和數據庫表邏輯的情況

我想這可以通過一系列if語句設置變量要麼產品名稱或爲「」,然後在字符串中包含的所有變量

var kt; 
if (kitchenTable == yes) kt = "kitchen table"; 
else kt = ""; 
if (kitchenCabinet == yes) kc = "kitchen cabinet"; 
else ka = ""; 

output = kt + ', ' + kc; 

大約有50個項目,可以呈現給用戶,是否有完成這個任務的一個更有效的方法一種方法是改變數據庫表中的值的輸入方式,以代替是的,它的項目名稱,但這似乎是一種較差的方式來解決問題

+0

我想澄清一下,每個項目有一個列,因此,大約有50列,正確的,並且各行的任何包含的項目,也許是門牌號碼? /名稱或房間有一些獨特的標識符? – shteeven

+0

我寫的工作給你的答案如何? –

回答

0

當然你不給所有關於你如何查詢,以便爲函數模擬查詢

var available = []; 

var result = query("kitchen table"); 
result === "yes" && (available.push("kitchen table")); 

的假想模型的處理細節......

var output = available.join(); 
+0

抱歉,目前所有的數據都從ajax傳遞到JavaScript,一旦我得到這個工作,我會我嘗試在ajax方面完成這項任務...但現在我想要簡單的路線。 –

0

你想要的東西實際上是內置於JavaScript本身。

我會說使用一個對象文字將真正簡單地在這種情況下你的生活,通過組織你的代碼,並把它變成一個更可讀的格式。

我還建議將您的服務器數據爲真與假,因爲這是一個標準化的方式來傳達一個布爾值,並允許下面的方法來工作,因爲它的作用:

​​

說明:

您循環遍歷包含鍵名稱和真假值的對象的結果集。在循環中,如果鍵名的值爲真,則使用該鍵名訪問屬性(在這種情況下,爲您選擇的字符串)。此處的「鍵」是每個對象中的鍵名必須排列。

這裏有一個現場演示:

http://codepen.io/nicholasabrams/pen/JXXbYz?editors=0010