我需要在下拉列表中显示 mysql 表中的重复值。我无法做到这一点,因为数组不能有重复的键。但是我发现了一个可以使用重复键的功能。
我需要有人可以指导我将下拉列表值放入此函数中:
下拉列表:
$dc=mysql_query("SELECT * FROM ECR_CBDC WHERE Prod_desc='$product' AND Ac_code='$custcode' AND Ecr_No=0 AND usr='$user' AND Cylno!='' ORDER BY Cylno ASC");
$num_rows = mysql_num_rows($dc);
$fill_from_array = array(); /* as "value"=>"option" */
for($i = 1; $i <= $num_rows; $i++)
{
$row = mysql_fetch_array($dc);
$fill_from_array[$row['Cylno']] = $row['Cylno'];
}
具有重复键的功能:
<?php
function array_combine_($keys, $values)
{
$result = array();
foreach ($keys as $i => $k) {
$result[$k][] = $values[$i];
}
array_walk($result, create_function('&$v', '$v = (count($v) == 1)? array_pop($v): $v;'));
return $result;
}
print_r(array_combine_(Array('2','2','3'), Array(2,2,3)));
?>
表 ECR_CBDC 的列 Cylno 具有以下值:10 20 20 30 40 50 50
当我将上述值放入一个数组 - fill_from_array 时,这些值将如下所示:
10 => 10
20 => 20
30 => 30
40 => 40
50 => 50
我在数组中需要的是:
10 => 10
20 => 20
20 => 20
30 => 30
40 => 40
50 => 50
50 => 50