我继承了来自另一家开发商的一个项目,有一堆的下拉菜单中从数据库中提取信息。这是设置方式如下:
$agent_list = $obj->select(TABLEPRIFIX.'agent', '*', ['status' =>1 ]);
如果我读这正确它基本上是说:“选择表‘the_agent’,抓住一切都为1的状态”。这部分工作正常,但是下拉菜单如下:
<div class="form-group">
<label>Agent</label>
<select name="agent_id" id="" class="form-control" required>
<option value="">Select</option>
<?php
foreach ($agent_list as $agent)
{
?>
<option value="<?php echo $agent['id']; ?>" <?php echo ($agent['id'] == $agent[0]['agency_id']) ? 'selected': '' ?> ><?php echo $agent['name']; ?></option>
将显示非字母顺序排列的所有名称。该行有一个ID号是主键,这样是什么创造,但是我希望能够在“名称”列中的数组进行排序,因此将显示为按字母顺序排列的顺序。通过我的研究,在网上我看到过,试过很多方法,如使用JavaScript,使用顺序(),和ORDER BY。该ORDER BY似乎是做到这一点的最简单和流畅的方式,但我不能得到它或任何其他的方法来工作,这样$ agent_list的设置。是否有可能使用ORDER BY与它建立还是需要使用其他方法的方法是什么?
你需要检查哪里$obj
设置,它可能是一个数据库查询类的一个实例。这个类的构造函数(或函数返回分配给该值的定义$obj
)应提供的信息,您可以如何指定ORDER_BY
条款被列入数据库查询(如果有的话),这是要走的首选方式。
如果这不是一种选择,排序PHP数组与自定义排序函数:
usort($agent_list, function ($a, $b) { return strcmp($a['name'], $b['name']); });
查阅PHP手册usort了解详情。未测试的代码。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句