如何使用POST方法从表单选择中传递两个变量?

时间:2013-10-24 16:28:13

标签: php sql

    Supplier:* <br/><select name="supplier">
<?php foreach ($db->query($sql) as $row) { ?>
                    <option value="<?php echo $row['supplier_id']; ?>">
                        <?php echo $row['supplier_name']; ?>
                    </option>
                <?php } ?>
 </select>

在下一个php脚本上检索数据:

$supplier_name = ??????
$supplier_id = ?????

上述代码允许用户从供应商表中选择供应商。

如何使用POST将supplier_name和关联的supplier_id传递给表单中的两个不同变量?

2 个答案:

答案 0 :(得分:0)

Bellow你有一个快速的例子。使用隐藏的输入元素并非如此。

您的选择:

<select name="supplier">
<?php foreach ($db->query($sql) as $row) { ?>
     <option value="<?php echo $row['supplier_id'] .'|' . $row['supplier_name']; ?>">
          <?php echo $row['supplier_name']; ?>
     </option>
 <?php } ?>
 </select>

处理表单的Php脚本:

if(isset($_POST['supplier']) {
    $arr = explode('|', $_POST[supplier]);

   if( count($arr) == 2 ) {
       $supplierId = $arr[0];
       $supplierName = $arr[1];
   }
}

答案 1 :(得分:0)

最简单的方法是做一些事情:

 <option value="<?php echo $row['supplier_id'].';'.$row['supplier_name']; ?>">
                    <?php echo $row['supplier_name']; ?>
                </option>

然后像这样评估它们:

$values = explode( ';', $_POST['supplier_info'] );
$supplier_id = $values[0];
$supplier_name = $values[1];

但是在评估$ _POST-Data时,最好只传输id然后llokup供应商的名称