0

我正在尝试传递一个双精度值,它们是标签中的数组。如何在另一侧接收和拆分阵列?这是我拥有的代码:

<?php
 print("<select name='dsc[]' multiple='multiple' id='searchable-select' multiple>");
//Create new SQL object  
$db = new NSC_SQL($db2config);
$db->from($qadbifld, "dbifld, substr(dbitxt,1,25) as FLDTEXT");
$db->where("upper(dbiatr)='PF' and (DBILIB='".$nscmod72d."' or DBILIB='".$aedata72."')    ");
$db->group("dbitxt,dbifld");
$db->order("dbitxt,dbifld");
$db->select();
$results = $db->fetchAssoc();
foreach($results as $row)
{
    $fieldName = trim($row['DBIFLD']);
    $fieldDesc = trim($row['FLDTEXT']);
    print("<option VALUE='$fieldDesc,$fieldName'>$fieldDesc  -  $fieldName  </option>");
}
print("</select>");
?>

这就是我试图在另一边接收它的方式:

<?PHP
 $dsc = $_POST['dsc'];
 list($fieldDesc, $fieldName) = explode(":", $dsc);
//Put the elements of the array in hidden fields here!
print_r($fieldDesc);
print_r($fieldName);
foreach ($fieldDesc as $key => $value1)
{
    echo "<input type=hidden name='dsc[]' value='$value1'>";
}
?>

这是用 PHP 编写的

它必须是这种方式,以便只有一个选项被传递给多选框。感谢你们为我提供的任何帮助。

4

2 回答 2

2

您似乎将这些值与 连接在一起,,然后将它们与 分开:。您必须使用相同的分隔符来连接和拆分。

于 2012-07-25T14:15:48.233 回答
0

您有多个选择元素

考虑下面的代码

<?php
if(isset($_POST) && !empty($_POST)){
    $dsc = $_POST['dsc'];

    foreach ($dsc as $val){

        $data = explode(",", $val);
        $fieldDesc = $data[0]; 
        $fieldName = $data[1];

        echo "<input type=hidden name='dsc[]' value='$fieldDesc'>";
    }
}

?>

<form action="" method="post">
<select name='dsc[]' multiple='multiple' id='searchable-select' multiple size="7">
    <option value="a,1">a,1</option>
    <option value="b,2">b,2</option>
    <option value="c,3">c,3</option>
    <option value="d,4">d,4</option>
    <option value="e,5">e,5</option>
</select>
<input type="submit" value="Submit"></input>
</form>

如果你不知道让我知道

于 2012-07-25T14:46:14.523 回答