我希望消除使用PHP创建的选择下拉列表中的所有重复项。
我创建下拉列表的PHP代码如下:
public static function getDropdownlist($conn)
{
//Initialize dropdown list
//--------------------------------------------------
$ddl_query = "select * from MIS_EMPLOYEES";
$stmt_ddl = oci_parse($conn, $ddl_query);
oci_execute($stmt_ddl);
//A default value -- this will be the selected item in the dropdown ##
$prosopiko = JRequest::getVar('bodies', 0);
if ($prosopiko == 0)
$default = 0;
else
$default = $prosopiko;
//Initialize array to store dropdown options ##
$options = array();
// $options = array_unique();
$options[] = JHTML::_('select.option', '0', 'Επιλέξτε');
while (($row = oci_fetch_array($stmt_ddl, OCI_ASSOC+OCI_RETURN_NULLS)) != false) {
$options[] = JHTML::_('select.option', $row['ID'], $row['POSITION']);
}
//Create <select name="month" class="inputbox"></select> ##
$dropdown = JHTML::_('select.genericlist', $options, 'bodies', 'class="inputbox"', 'value', 'text', $default);
return $dropdown;
}
}
但是它带来了从Oracle表中写的所有重复项。
如何消除重复?我试过array_unique
,但我失败了。
答案 0 :(得分:3)
最简单的选择是将您的查询修改为GROUP BY ID, POSITION
或array_unique
。除此之外,您需要构建一个数组并使用{{1}}。
答案 1 :(得分:3)
在您的SQL语句中,只需更改它以收集您感兴趣的不同元素。
由于您只在上面的代码中为值和文本使用了两个值,所以这样的东西应该有效:
SELECT ID, POSITION
FROM MIS_EMPLOYEES
GROUP BY ID, POSITION