我需要 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/