2015-02-06 121 views
0

我有一个带有单选按钮的动态表格,用于选择每行中的通过或失败。下面是我的代码:Laravel处理单选按钮值

<form name="form2" method="post" action="/admin/testresults/update/added"> 
    <?php if(isset($rows)){ $i=1; $pass=$ fail='' ; foreach ($rows as $row) { (($row->result == 1) ? $pass='checked' : $fail='checked'); print " 
    <tr> 
    <td>".$i."</td> 
    <td>".$row->name." ".$row->last_name."</td> 
    <td> 
     <input type='radio' name='".$row->userId."' value='1' ".$pass.">Pass 
     <br/> 
     <input type='radio' name='".$row->userId."' value='0' ".$fail.">Fail 
     <input type='hidden' name='".$row->userId."' value='".$row->userId."' </td> 
    </tr> 
    "; $i++; } print " 
    <tr> 
    <td colspan='3'> 
     <input class='ember-view btn btn-danger' type='submit' /> 
    </td> 
    </tr>"; } ?> 
</form> 

我用在我的控制器下面的代码:

$inputs = Input::get(); 
foreach($inputs as $input){ 
    TestResults::updateCandidate($input); 
} 

我想进入updateCandidate()是学生ID和所选择的单选按钮值( 1/0)。我怎样才能做到这一点?

感谢

+0

你在使用Laravel吗?如果是这样,为什么你将PHP代码嵌入到模板中? – Cheluis 2015-02-06 14:13:53

+0

@Cheluis我还是Laravel的新手...不太确定什么是好的做法 – 2015-02-06 14:18:27

+0

'TestResults :: updateCandidate($ input)'看起来就像您定义的自定义类。你想如何传递参数?作为一个数组?作为单个字符串? – 2015-02-06 14:23:19

回答

3

首先,我同意@Chelius的意见,看看周围的叶片模板和@if/@foreach和使用laravel的文档{{表::输入}}。

然而,在回答你的问题 - 你需要更好地你的名字输入检索用户ID和冗长的PHP版本应该结束这样看:

<td> 
    <input type='radio' name='results[".$row->userId."]' value='1' ".$pass.">Pass 
    <br/> 
    <input type='radio' name='results[".$row->userId."]' value='0' ".$fail.">Fail 
    <input type='hidden' name='".$row->userId."' value='".$row->userId."' 
</td> 

加工时,你的代码,然后是:

$inputs = Input::get(); 
foreach($inputs['results'] as $userId => $result){ 
    TestResults::updateCandidate($userId, $result); 
} 

请注意,您可能需要更新您的“updateCandidate”函数来接受用户ID和结果。

+0

感谢队友的知识!你的回答非常有帮助! – 2015-02-06 16:53:22