解决 JavaScript 和数据库表逻辑情况
resolving a javascript and database table logic situation
当我查询数据库表时,我得到值"yes"或"no",用于表示项目是否存在(项目是列名)的记录。 我想创建一个字符串来表示按名称可用的产品(而不是我现在正在做的"厨房桌子="+厨房表;
我认为这可以(很差)解决,方法是将变量设置为产品名称或",然后在字符串中包含所有变量
var kt;
if (kitchenTable == yes) kt = "kitchen table";
else kt = "";
if (kitchenCabinet == yes) kc = "kitchen cabinet";
else ka = "";
output = kt + ', ' + kc;
大约有 50 个项目可以呈现给用户,有没有更有效的方法来完成这个任务? 一种选择是更改将值输入到datbase表中的方式,以便它不是"是",而是项目名称,但这似乎是解决问题的较差方法
当然,
您不会提供有关如何进行查询的所有详细信息,因此这是模拟查询的函数的假想模型
var available = [];
var result = query("kitchen table");
result === "yes" && ( available.push("kitchen table") );
......
var output = available.join();
你想要的实际上是内置在javascript本身中的。
我想说的是,在这种情况下,使用对象文字确实可以通过组织代码并将其转换为更具可读性的格式来简化您的生活。
我还建议将服务器数据转换为 true 和 false,因为这是一种传达布尔值的标准化方式,并允许以下方法按原样工作:
// From server response
var results = {
kitchenCabinet: true,
kitchenTable: true
}
// Use this for your storage of all related items
var kitchenProps = {
kitchenCabinet: 'kitchen cabinet',
kitchenTable: 'kitchen table'
}
// Reuse this function for each time your need a new category (masterBathroomProps...)
function getItemDataIfExists(results, hashTable){
'use strict';
var output = 'Your total is: ';
for (var item in results) {
if (!results.hasOwnProperty(item)) return;
if (results[item]) output += 'A '+hashTable[item]+' ';
}
return output;
}
getItemDataIfExists(results, kitchenProps);
解释:
循环遍历包含键名和真假值的对象的结果集。在循环中,如果键名的值为 true,则使用该键名访问属性(在本例中为您选择的字符串。这里的"键"是每个对象中的键名必须对齐。
这是一个现场演示:
http://codepen.io/nicholasabrams/pen/JXXbYz?editors=0010
相关文章:
- 在不使用循环的情况下,从一个数据库字符串值向javascript数组添加多个对象
- 在不重构Mongo数据库的情况下,更新嵌入数组中的具有给定ID的对象
- 如何在不刷新页面的情况下从 PHP 中的 SQL Server 数据库获取数据
- jQuery在没有数据库的情况下从php-json自动完成
- 需要 Ajax 函数 - 在不刷新页面的情况下更新数据库
- 如何在不发出 HTTP 请求的情况下检测 SQL 数据库中的更改
- 在不超出页面的情况下更新数据库
- 解决 JavaScript 和数据库表逻辑情况
- 如何在不刷新页面的情况下从数据库(mysql)加载更新的数据
- 需要在不刷新的情况下从数据库中获取值
- 索引数据库,如何在不重新加载页面的情况下获取更新的数据
- Koa:在没有现有包装器的情况下连接到数据库的最明智的方法是什么?
- 如何在不干扰和烦恼页面的情况下与 asp.net 中的数据库进行交互
- 在没有服务器端的情况下构建报价数据库
- 在不使用数据库的情况下将突出显示的文本保存在 Chrome 扩展程序中
- 使用 AJAX 从数据库中检索数据,并在没有框架的情况下对它们进行分页
- 如何在不回发的情况下访问 SQL 数据库中的数据
- 在没有数据库的情况下搜索图像
- 在不提交表单的情况下,在两个texbox中比较mysql数据库中的值
- Php:如何在不提交表单的情况下从mysql数据库中获取文本框值