php:通过mysql获取选项选择值

时间:2015-04-13 21:36:35

标签: php mysql forms insert

我试图为各种html表单创建一个altas.php文件。这段代码是一个带有一些mysql列的html表单:

<div><label for="categoria">Categoría principal</label><select type="text" name="categoria">
        <?php 
            $query = "select id, categoria from categorias";
            $result = mysqli_query($mysql,$query);
            if(!$result) echo 'Muy mal....';
            $num_filas = mysqli_num_rows($result);
            for ($i = 0; $i < $num_filas; $i++){
                $row = mysqli_fetch_array($result);
        ?>
        <option value "<?php echo $row['id']?>"><?php echo $row['categoria']?></option><?php
            }   
        ?>
        </select></div>

另一方面,如果我这样做:

foreach($_POST as $campo => $valor){
        echo $campo ." = ". $valor ."\n";
    }

$row['categoria']中没有数据。它应该返回值,即分类的id。

另一个问题:

我如何使用&#34; foreach&#34;插入句子?

例如:

 foreach($_POST as $campo => $valor){
$query ="INSERT INTO $tabla ($campo) VALUES ('$valor')";
}

$ tabla通过$ _GET发送。此代码为每个$ campo创建一个新行。有什么想法吗?

我已经尝试了一些建议,但没有任何效果。

1 个答案:

答案 0 :(得分:1)

你似乎在这一行上缺少一个=和关闭的分号:

<option value "<?php echo $row['id']?>"><?php echo $row['categoria']?></option><?php

应该是:

<option value="<?php echo $row['id']; ?>"><?php echo $row['categoria']; ?></option><?php

修改 还从选择列表中删除了类型