我正在使用mysql表中的php while循环填充选择选项。以下是php代码:
<?php
session_start();
$database = $_POST['folder'];
include('connect.php');
$connect = mysqli_connect($hostname, $username, $password,$database );
if ($connect->connect_error) {
die("Connection failed: " . $connect->connect_error);
}
$result = $connect->query("select name from treeview where parent_id = 1;");
?>
<option value="">Select Location</option>
<?php while($row1 = mysqli_fetch_array($result)):;?>
<option value="<?php echo $row1['name'];?>"><?php echo $row1['name'];?></option>
<?php endwhile;?>
这正常工作,但所提取的项目未按字母顺序排序。我知道这可能是微不足道的,但我做对了。我尝试了以下方法:
选项1
<?php while($row1 = mysqli_fetch_array($result)):;
$row1 = sort($row1);
?>
<option value="<?php echo $row1['name'];?>"><?php echo $row1['name'];?></option>
选项2:
<?php while($row1 = mysqli_fetch_array($result)):;?>
<option value="<?php echo sort($row1['name']);?>"><?php echo sort($row1['name']);?></option>
两个都不起作用。
答案 0 :(得分:1)
您需要更改SQL查询并使用ORDER BY
在此处查看link
答案 1 :(得分:0)
您正在尝试对一行进行排序,而不是对行进行排序。对所有行进行排序将需要您获取所有的行,然后对其进行排序。恕我直言,一种更简单的方法是在查询本身中对它们进行排序:
$result = $connect->query("select name from treeview where parent_id = 1 ORDER BY 1;");
# Here ------------------------------------------------------------------^