通过Desc Order命令获取具有目录名称顺序的Combobox

时间:2014-06-25 09:09:54

标签: php date combobox

http://dailyasas.com.pk/images/epaper/archive/page1.php

请访问以上链接以了解我的问题。 我有一个组合框获取目录名称。 目录名称实际上是(dd-mm-yyyy)格式的日期。

我只想按降序排序日期(当前日期优先,旧日期最后)

我的代码如下。

<div class="search">
<form action="/images/epaper/archive/page1.php" method="get">
<?php
$dirs = glob('*', GLOB_ONLYDIR);
echo '<select id="cmbDate" name="Date" class="keyword">';
echo  '<option value="0" selected="selected"> --------- SELECT DATE ---------           </option>';
foreach($dirs as $dir)
{
echo  '<option value="'.$dir.'" ><a href="?d='.$dir.'">'.$dir.'</option>';
}
echo '</select>';
?>
<input type="submit" class="asassubmit" >
</form>

1 个答案:

答案 0 :(得分:0)

由于您的目录名称因命名约定而不可移动,因此您必须获取glob的结果并将目录名称转换为可排序的内容。对该数组进行排序,然后使用该排序数组生成输出。

这可以让你找到合适的路线。

$dirs = glob('*', GLOB_ONLYDIR);

$sortable = array();
foreach ( $dirs as $dir ) {
    $sortable[strtotime($dir)] = $dir;
}
krsort($sortable);

foreach ($sortable as $dir ) {
    echo  '<option value="'.$dir.'" ><a href="?d='.$dir.'">'.$dir.'</option>';
}