php – Yii2:根据相关表中的另一个字段自动填充字段

发布时间:2022-04-30 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了php – Yii2:根据相关表中的另一个字段自动填充字段脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
@H_403_4@
我有一个 MySQL表和模型patient_entry,其中包含字段patient_name,cITy和state.我还有另一个表/模型health_card,其中还包含patient_name,city和state.

假设patient_entry表已经填充了patient_name,city和state.

当我以health_card格式输入数据时,当我通过与patient_entry表相关的下拉字段选择patient_name时,我希望自动填充相关的城市和州字段.

我的_form.PHP for health_card看起来像这样:

<head>
<script>

        $this->registerJs("$('#healthcard-patient_name').on('change',function(){
    $.ajax({
        url: '".yii\helPErs\Url::toRoute("HealthCard/patient")."',dataType: 'json',method: 'GET',data: {id: $(this).val()},success: function (data,textStatus,jqXhr) {
            $('#healthcard-city').val(data.city);
            $('#healthcard-pincode').val(data.pin);
        },beforeSend: function (xhr) {
            alert('loading!');
        },error: function (jqXHR,errorThrown) {
            console.LOG('An error occured!');
            alert('Error in ajax request');
        }
    });
});"); 

      </script>
</head>

在控制器中,我根据建议添加了:

public function actionPatient($id){
    // you may need to check whether the entered ID is valid or not
    $model= \app\models\PatientEntry::findOne(['id'=>$id]);
    return \yii\helpers\Json::encode([
        'city'=>$model->disrict_city,'pin'=>$model->pin_code
    ]);
}
@H_403_4@

解决方法

您所需要的只是调用AJAX请求来获取所需的字段.就像下面这样:

>(我不知道您的型号名称)查看您的表单,看看您的patient_name字段的id是多少.它通常是modelname-fieldname.我假设您的型号名称是患者.因此,patient_name的id将是patient-patient_name.
>添加ajax请求(在您的视图中).

调用AJAX的代码如下所示:

$this->registerJs("$('#patient-patient_name').on('change',function(){
    $.ajax({
        url: '".yii\helpers\Url::toRoute("controllerName/patient")."',jqXHR) {
            $('#patient-city').val(data.city);
            $('#patient-state').val(data.state);
        },errorThrown) {
            console.log('An error occured!');
            alert('Error in ajax request');
        }
    });
});");

笔记:

>使用您自己的代码更改上述代码中的ControllerName.
>我假设城市和州的字段ID具有以下ID:患者 – 城市和州 – 城市相对.
>患者是您控制器中的一个动作
>您可能需要删除警报日志并对上述代码进行一些自定义
>我没有考虑代码清理的任何条件.请确保用户数据正确无误.

>最后,将操作代码添加到控制器中.

行动代码

public function actionPatient($id){
    // you may need to check whether the entered ID is valid or not
    $model=  \app\models\Patient::findOne(['id'=>$id]);
    return \yii\helpers\Json::encode([
        'city'=>$model->city,'state'=>$model->state
    ]);
}
@H_403_4@ @H_403_4@
@H_403_4@
@H_403_4@
本图文内容来网友网络收集整理提供,作为学习参考使用,版权属于原作者。

猜你在找的PHP相关文章

php中有以下五种方法来检测变量是否为空,那么这五种方法之间有什么区别呢?下面我们就来一起看看吧。1、isset功能:判断变量是否被初始化说明:它并不会判断变量是否为空,可以用来判断数组中元素是否被定义过。
字符串函数 strlen:获取字符串的长度,获取的是字符串的字节长度 字符:一个完整的符号,a,中 字节:由8位组成 一个字符最少等于一个字节:ASCII码,a,b,通常英文字符都是占用一个字节 中文在gbk或者gb2312编码里,占用两个字节 中文在utf-8里最少占用3个字节,有可能是4个字节 substr:截取字符串,以字节为单位截取 string sub...
数据的操作无外乎就是对数据的增删改查增加数据基本方式:insert into 表名 [(字段列表)] values (值列表);主键冲突:在插入数据的时候,主键值已经存在了,但是要求是必须使用该主键字段 实现目标:如果该主键不存在那么就增加记录,如果存在,就修改部分字段的值1.使用主键冲突方式语法:insert into 表名 values(值列表) on dup...
范式:Normal Format规定的一种设计方式范式特点:范式有很多,从低级到高级有六级左右,低级往高级一级比一级要求严格。关系型数据库通常设计只需要满足其中一,满足第三范式即可。满足第三范式必须先满足第二范式,第二范式又必须先满足第一范式。第一范式:1NF数据表的设计的字段中,每个字段都不能再分,每个字段都必须是最小的不可分割的单位(原子性) 讲师代课表 要知...
在字段类型之后,用于对当前字段进行一系列的约束的内容(限制内容的情况) 字段属性:null/not null,Primary key,auto_increment,unique key,comment,defaultnull表示字段的值可以为空(在进行数据插入的时候,该字段可以不给数据),not null表示不能为空,必须要给定值(不能是null)default默...
MySQL中也分为三大数据类型:数值型,字符型,时间日期型 数值型数值型分为整数型和小数型(包含小数部分的数据类型)整型mySQL中光整数型数据类型就有五种:tinyint,smallint,mediumint,int,Bigint tinyint:迷你整型,占用1个字节保存数据,能够表示256个数值 smallint:小整型,占用2个字节保存数据,能够表示6...
校对集就是数据库数据进行比较的时候所采用的比较方式。 A =======&amp;amp;gt; 01000001 =======&amp;gt; 65 a =======&amp;gt; 01100001 ========&amp;gt; 97校对集有三种比较方式 _bin:使用二进制进行比较(区分大小写) _ci:(case insensitive),大小写不敏感,不区分大小写(将某个字符转变成...
1.mytable1存储的数据是utf8字符集(在创建表的时候,指定了表的数据存储字符集为utf8)2.cmd控制台只能是gbk格式的数据:说明cmd下只能输入和显示gbk格式的数据3.set names gbk的功能 客户端与服务端进行不同编码的通信的原理 了解数据库的字符集 查看数据库支持哪些字符集?show character set; mysql支持39种字...

脚本宝典总结

以上是脚本宝典为你收集整理的php – Yii2:根据相关表中的另一个字段自动填充字段全部内容,希望文章能够帮你解决php – Yii2:根据相关表中的另一个字段自动填充字段所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。