我有两个表tbl_office和tbl_result
| id | office_name | | id | office | rating | comment |
|----|-------------| |----|-------------|-----------|---------|
| 1 | Records | | 1 | Records | Satisfied | |
| 2 | Logistics | | 2 | Logistics | Satisfied | |
| 3 | HR | | 3 | HR | Neutral | |
字符串
我在表单上使用了一个SELECT OPTION标记,从tbl_office获取了office_name的行值
控制器
namespace App\Controllers;
use App\Models\SurveyModel;
use App\Models\OfficeMOdel;
class Survey extends BaseController
{
public function index()
{
$data = [];
helper(['form','url']);
$office = new OfficeMOdel();
$data['office'] = $office->findAll();
if($this->request->getMethod() == 'post'){
$rules = [
'office' => ['label' => 'Office', 'rules' => 'required'],
'rating' => ['label' => 'Rating', 'rules' => 'required']
];
if (!$this->validate($rules)){
$data['validation'] = $this->validator;
}else{
$model = new SurveyModel();
$newData = [
'office' => $this->request->getVar('office'),
'rating' => $this->request->getVar('rating'),
'comment' => $this->request->getVar('comment'),
];
$model->save($newData);
$session = session();
$session->setFlashdata('success','Your Feedback has been successfully added to our system!',);
return redirect()->to('survey/confirmation');
}
}
echo view ('templates/header_form', $data);
echo view ('surveyform');
echo view ('templates/footer_form');
}
型
PHP/HTML用于显示office_name的值
<select name="office">
<?php foreach($office as $row) :?>
<option><?php echo $row['office_name'] ?></option>
<?php endforeach; ?>
</select>
型
工作正常,但是当我从tbl_office更新from office_name的值时,tbl_result上的值没有变化。有没有一种方法可以链接这些值,而不是在将选项插入到另一个表时仅获取该选项的值?
2条答案
按热度按时间tcomlyy61#
您不应该在
tbl_result
中存储office
名称。你应该保存office_id:字符串
Share SQL fiddle
型
w46czmvw2#
在索引中联接两个表
字符串