PHP:将相当于用户在表单选择中的选择的数据库插入到变量中?

标签 php mysql sql

我需要 PHP 从表单中获取信息并以这种方式将其与数据库信息进行比较:

用户从 N 个选项中选择了 X 个选项。每个选项在数据库中都有一个特定的列,其中存储了一个值。存储在数据库中分配给用户选择的选项的值被分配给一个变量。

这是我所做的:

这是我的表单选项:

Cuál es tu color favorito?
<select name="colour">
<option name="redcolour">Rojo</option>
<option name="bluecolour">Azul</option>
</select>

我已经为用户选择的选项创建了一个变量:

$colour=$_POST['colour'];

这样做 echo $colour; 根据用户选择的内容打印红色或蓝色。

我有一个 mysql 数据库,其中有一个表“datos”,如下所示:

datos (id, red, blue) 它有一行包含这些值 (1, 100, 200)。这些值是分配给每个选项的分数。

我需要一个变量 $whatever,如果用户选择蓝色,则值为 100;如果用户选择红色,则值为 200。

如果我这样做:

$consulta=mysqli_query($conexion,$query)
if($_SERVER['REQUEST_METHOD']=='POST') {
   if($result=mysqli_fetch_assoc($consulta)){
      echo $result['red'];
      echo $result[$_POST['red']];
      }

我在第一个回显中得到 100,而在第二个回显中什么也没有得到。

我的sql查询是:

SELECT * from datos

最佳答案

使用查询:

SELECT * FROM datos

将结果行提取到关联数组中,例如使用MySQLI:

$row = mysqli_fetch_assoc($result);

或 PDO:

$row = $stmt->fetch(PDO::FETCH_ASSOC);

然后你可以通过$row[$_POST['colour']]获取你想要的值

关于PHP:将相当于用户在表单选择中的选择的数据库插入到变量中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20959193/

相关文章:

mysql - 为什么mysql的十六进制结果与shell和java不同

mysql触发器添加或减去库存数量,当元素租用时减1,当元素返回时加1

c# - 文件上传时覆盖

sql - 将 2 个表合并为 1 个表(SQL Server)的最佳方法是什么,其中只有一列是日期时间类型的共同点

sql - 是否可以在 PostgreSQL 中单独查询任意数量的列?

php - 如何检查值是否为 Url?

php - 如何在此循环中选择所有其他结果? [PHP]

PHP 警告 : No such file or directory in Unknown on line 0

PHP 截止日期通知

mysql - SQL 连接 with where 和having count() 条件