相同的值以yii2形式显示在不同的输入字段上 [英] Same values getting displayed on different input fields in yii2 form
问题描述
我正在使用Yii2框架和PHP。
我有一个函数,它有3个参数作为id,year和month。它是否在表格中存在记录。如果它不存在,则将四个字段(如OpeningBalance,TotalValueofLoanGiven,LoanRepaidUptilNow和TotalValueOfLoanOutstanding)设置为0.否则前几个月的值将设置为字段。
该函数返回4个值,但所有4个值都显示在每个输入中。
I am using Yii2 framework with PHP.
I have a function which takes 3 parameters as id, year and month. It cheecks whether there exists a record in the table. If it does'nt exists, then four fields such as OpeningBalance, TotalValueofLoanGiven, LoanRepaidUptilNow and TotalValueOfLoanOutstanding are set to 0. Otherwise previous months values are set to the fields.
The function returns 4 values but all the 4 values are displayed in every inputs.
public function actionGroupsavinginfo($id,$year,$month)
{
$group = Yii::$app->db->createCommand('SELECT count(*)
FROM `groupsavingdetails`, groupdetails
where groupdetails.GroupId=groupsavingdetails.GroupId
and groupsavingdetails.Year<='.$year.'
and groupsavingdetails.Month<='.$month.'
and groupsavingdetails.GroupId='.$id
)
->queryScalar();
$groupsavingdetails = Yii::$app->db->createCommand('SELECT *
FROM `groupsavingdetails`
where
groupsavingdetails.Year<='.$year.'
and groupsavingdetails.Month<='.$month.'
and groupsavingdetails.GroupId='.$id
)
->queryAll();
if ($group == 0) {
echo $groupsavingdetails['OpeningBalance']=$groupsavingdetails['TotalValueofLoanGiven']=$groupsavingdetails['LoanRepaidUptilNow']=$groupsavingdetails['TotalValueOfLoanOutstanding']=0;
}
else {
foreach($groupsavingdetails as $groupsavingdetails1)
{
$groupsaving_details['OpeningBalance'] = $groupsavingdetails1['ClosingBalance'];
$groupsaving_details['TotalValueofLoanGiven']= $groupsavingdetails1['TotalValueofLoanGiven'];
$groupsaving_details['LoanRepaidUptilNow']=$groupsavingdetails1['LoanRepaidUptilNow'];
$groupsaving_details['TotalValueOfLoanOutstanding']= $groupsavingdetails1['TotalValueOfLoanOutstanding'];
}
echo $groupsaving_details['OpeningBalance'];
echo $groupsaving_details['TotalValueofLoanGiven'];
echo $groupsaving_details['LoanRepaidUptilNow'];
echo $groupsaving_details['TotalValueOfLoanOutstanding'];
}
}
我有以下表格调用此方法并设置如下值:
In the form I have called this method and set the values as follows:
<?= $form->field($model, 'Month',['enableAjaxValidation' => true])->dropDownList(['01'=>'January', '02' => 'February','03'=>'March','04'=>'April','05'=>'May','06'=>'June','07'=>'July','08'=>'August','09'=>'September','10'=>'October','11'=>'November','12'=>'December'], ['prompt'=>'Select Month','onChange'=>'
$.post("index.php?r=groupsavingdetails/groupsavinginfo&id='.'"+$("select#groupsavingdetails-groupid").val()+"&year='.'"+$("input#groupsavingdetails-year").val()+"&month='.'"+$("select#groupsavingdetails-month").val(),function(data){
$("input#groupsavingdetails-openingbalance").val(data);
$("input#groupsavingdetails-totalvalueofloangiven").val(data);
$("input#groupsavingdetails-loanrepaiduptilnow").val(data);
$("input#groupsavingdetails-totalvalueofloanoutstanding").val(data);
});
']) ?>
我的尝试:
What I have tried:
I am using Yii2 framework with PHP.
I have a function which takes 3 parameters as id, year and month. It cheecks whether there exists a record in the table. If it does'nt exists, then four fields such as OpeningBalance, TotalValueofLoanGiven, LoanRepaidUptilNow and TotalValueOfLoanOutstanding are set to 0. Otherwise previous months values are set to the fields.
<pre>public function actionGroupsavinginfo($id,$year,$month)
{
$group = Yii::$app->db->createCommand('SELECT count(*)
FROM `groupsavingdetails`, groupdetails
where groupdetails.GroupId=groupsavingdetails.GroupId
and groupsavingdetails.Year<='.$year.'
and groupsavingdetails.Month<='.$month.'
and groupsavingdetails.GroupId='.$id
)
->queryScalar();
$groupsavingdetails = Yii::$app->db->createCommand('SELECT *
FROM `groupsavingdetails`
where
groupsavingdetails.Year<='.$year.'
and groupsavingdetails.Month<='.$month.'
and groupsavingdetails.GroupId='.$id
)
->queryAll();
if ($group == 0) {
echo $groupsavingdetails['OpeningBalance']=$groupsavingdetails['TotalValueofLoanGiven']=$groupsavingdetails['LoanRepaidUptilNow']=$groupsavingdetails['TotalValueOfLoanOutstanding']=0;
}
else {
foreach($groupsavingdetails as $groupsavingdetails1)
{
$groupsaving_details['OpeningBalance'] = $groupsavingdetails1['ClosingBalance'];
$groupsaving_details['TotalValueofLoanGiven']= $groupsavingdetails1['TotalValueofLoanGiven'];
$groupsaving_details['LoanRepaidUptilNow']=$groupsavingdetails1['LoanRepaidUptilNow'];
$groupsaving_details['TotalValueOfLoanOutstanding']= $groupsavingdetails1['TotalValueOfLoanOutstanding'];
}
echo $groupsaving_details['OpeningBalance'];
echo $groupsaving_details['TotalValueofLoanGiven'];
echo $groupsaving_details['LoanRepaidUptilNow'];
echo $groupsaving_details['TotalValueOfLoanOutstanding'];
}
}
我有以下表格调用此方法并设置如下值:
In the form I have called this method and set the values as follows:
<?= $form->field($model, 'Month',['enableAjaxValidation' => true])->dropDownList(['01'=>'January', '02' => 'February','03'=>'March','04'=>'April','05'=>'May','06'=>'June','07'=>'July','08'=>'August','09'=>'September','10'=>'October','11'=>'November','12'=>'December'], ['prompt'=>'Select Month','onChange'=>'
$.post("index.php?r=groupsavingdetails/groupsavinginfo&id='.'"+$("select#groupsavingdetails-groupid").val()+"&year='.'"+$("input#groupsavingdetails-year").val()+"&month='.'"+$("select#groupsavingdetails-month").val(),function(data){
$("input#groupsavingdetails-openingbalance").val(data);
$("input#groupsavingdetails-totalvalueofloangiven").val(data);
$("input#groupsavingdetails-loanrepaiduptilnow").val(data);
$("input#groupsavingdetails-totalvalueofloanoutstanding").val(data);
});
']) ?>
推荐答案
id,
year,
month)
{
month) {
这篇关于相同的值以yii2形式显示在不同的输入字段上的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!