我想知道如何将双值作为数组传递,并在另一端接收它们——这就是我对代码的理解:


I was wondering how to pass the double value as arrays and receive them on the other side this is what I have for code:

我试图传递一个双值,该值是标记中的数组。如何接收并在另一侧将阵列拆分?这是我的代码:

<?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 编写的

必须采用这种方式,才能将一个选项传递给多选框。感谢你们为我提供的任何帮助。

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

您有多个选择元素

考虑下面的代码

<?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>

如果你没有得到,请告诉我

相关文章: