如何从php中的多行中获取选择值

时间:2014-12-31 04:59:13

标签: php mysql

我有一个类似下面的表单格式,用户可以使用select选项为每个成员选择不同的评级。

 +---------+---------+----------+    
 |  Sl.No  |Members  | Rating   |    
 +------------------------------+    
 |  1      | abc     | 4        |    
 |  2      | xyz     | 4        |    
 |  3      | pqr     | 3        |    
 |  4      | jkl     | 5        |    
 +---------+---------+----------+  

使用名称为select的{​​{1}}个选项完成评分。

在提交表单时,如何获得php中每个memeber的相应评级?

name="ratings"

这是从选择中获取值的传统方法。但我对每个成员都有多个选择。那么如何才能获得每个用户的评分呢?

我尝试添加隐藏字段,并为每个成员附加$rating = Input::get('rating') 。但仍然没有想过如何从选择选项中选择正确的数据。什么是从用户那里获得输入的最佳方式?

1 个答案:

答案 0 :(得分:1)

如果您有以下html(使用成员作为排名键,但可以使用user_id等) -

   Sl.No  |Members  | Rating
------------------------------
|  1      | abc     | <select name="rankings[abc]"><option selected>4</option></select>
|  2      | xyz     | <select name="rankings[xyz]"><option selected>4</option></select>
|  3      | pqr     | <select name="rankings[pqr]"><option selected>3</option></select>
|  4      | jkl     | <select name="rankings[jkl]"><option selected>5</option></select>  

然后在你的php中

$rating = Input::get('rating');
foreach($rating as $user => $rate){
    echo $user.": ".$rate."<br />";
}

或者,如果你在mysql中更新他们的评级

$rating = Input::get('rating');
foreach($rating as $user => $rate){
    query -> UPDATE yourTable SET rating = $rate WHERE user_id = $user
}