使用Javascript渲染DB值

时间:2016-07-07 12:05:58

标签: javascript jquery database database-design normalization

直到我的项目中的日期已经直接实施了DB规范化和方式"状态代码"存储,例如

Patient_table

patientId | referralStatus

  1001            1
  1002            2

Referral_status_codes_master

refStatusCode | refValue
      1         Pending
      2         Awaiting

加入这两个表可为" STATUS_CODES"提供适当的数据。 。 我的意图是,如果我使用Javascript来实现相对较小的主表值,即根本不改变,例如状态,这是不合适的。

让我说我在HTML表格中加载患者数据,并使用javascript更改其含义。

<tr>
  <td>1001</td>
  <td>1</td>
</tr>

目标:在sql查询中使用join的Intead,在客户端使用Javascript获取相同的结果。

我将该HTML表绑定到JS函数并将状态1更改为&#34;待定&#34;,我知道它可能,我的问题是:

  1. 这样做的缺点是什么。
  2. 是否已存在仅用于此目的的库。
  3. 请提供您的建议。

    谢谢

1 个答案:

答案 0 :(得分:1)

由于您拥有有限数量的状态,您可以将值映射到用户友好名称,而不是仅使用js / jQuery替换它们

&#13;
&#13;
var statusMap = {
  '1': 'Normal',
  '2': 'Missing',
  '3': 'Dead',
};

$(document).ready(function () {
  $('[data-status]').each(function () {
    $(this).html(statusMap[$(this).data('status')]);
  })
});
&#13;
table {
  width: 50%;
  }
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<table>
  <tr>
    <th>Name</th>
    <th>Status</th>
  </tr>
  <tr>
    <td>John Wick</td>
    <td data-status="2"></td>
  </tr>
  <tr>
    <td>Abraham Lincoln</td>
    <td data-status="3"></td>
  </tr>
  <tr>
    <td>Dummy User</td>
    <td data-status="2"></td>
  </tr>
</table>
&#13;
&#13;
&#13;

通过执行statusMap

,可以从PHP生成

json_encode({All values from Referral_status_codes_master});