1

在我的网站上,我有一个不同计量单位的下拉菜单。一个人可以填写他的剂量,然后选择一个单位,然后提交表格。在我的单位表中,我还有一个转换字段

units
id | unit | conversion
1  | g    | 1000

我想传递与选择下拉框字段关联的转换值,以便在我的控制器中,就在我保存之前,我可以将我的“剂量”乘以转换值。问题是我不知道如何真正“获得”转化价值。我尝试运行 find() 来选择与单位 ID 匹配的值,但似乎我的 find 甚至没有返回任何结果。看起来像这样

$this->Unit->find('first',
array(
     'conditions' => array(
         'unit' => $this->request->data['RecordDrugUnit']['unit_id']),
     'fields' => array('conversion')
));

然后我做

$this->request->data['RecordDrugUnit']['dose'] = (int)$this->request->data['RecordDrugUnit']['dose'] * (int)$this->request->data['Unit']['conversion'];

找到了

$conv_val = $this->Unit->find('first',
        array(
            'conditions' => array(
                'id' => $this->request->data['RecordDrugUnit']['unit_id']),
            'fields' => array('conversion')
            ));
        $this->request->data['RecordDrugUnit']['dose'] = (int)$this->request->data['RecordDrugUnit']['dose'] * (int)$conv_val['Unit']['conversion'];
4

1 回答 1

1

这种转换最好在 php.ini 中完成。

从 db 表 vis 填充您的单位下拉列表:table_id SERIAL,unit CHAR(5),conversion (FLOAT) 然后您可以执行以下操作:

$u=mysqli_real_escape_string($mysqlidb,$_POST['unit'])
SELECT conversion from unittable WHERE unit ='$u';

如果该系统用于医疗目的,我真的不建议您这样做。您应该使用包含预先连接的药物名称、剂量和形式的经批准的数据库,否则肯定会出错。

有许多合适的数据库可用,或者您可以随时创建自己的数据库。

于 2013-06-20T23:12:15.043 回答