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

标签 php mysql

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

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

评级是通过使用名称为name="ratings"select 选项完成的。

在提交表单时,如何在 php 中获取每个成员的相应评分?

$rating = Input::get('rating')

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

我尝试添加一个隐藏字段并为每个成员附加 user_id。但是仍然不知道如何从选择选项中选择正确的数据。从用户那里获取输入的最佳方式是什么?

最佳答案

如果您有以下 html(使用 Members 作为排名键,但可以使用 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
}

关于php - 如何从php中的多行中获取选择值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27716340/

相关文章:

php - foreach 和数组的错误

php - 使用复选框进一步过滤 SQL 数据库结果 (PHP)

php - CodeIgniter 身份验证、权限和管理系统,或 Django 的任何其他 PHP 等价物?

MYSQL替换成永不替换?

mysql - Steam 交易机器人 - TypeError : Cannot read property '0' of undefined

php - 通过过滤器从多个数据库中选择

Mysql数据库数据维护

javascript - 在 getJSON jquery 中传递输入值

php - Preg 用于检查它发生了多少次

mysql - SQL WHERE 与乘法 JOIN 和 GROUP BY