Сортировка массива PHP, извлеченного через цикл while - PullRequest
0 голосов
/ 01 октября 2018

Я заполняю опцию выбора, используя цикл while php из таблицы mysql.Ниже приведен код 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>

Оба не работали.

Ответы [ 2 ]

0 голосов
/ 01 октября 2018

Вам нужно изменить SQL-запрос и использовать ORDER BY

См. Здесь ссылка

0 голосов
/ 01 октября 2018

Вы пытаетесь отсортировать одну строку вместо строк.Сортировка всех строк потребует от вас извлечения их всех, а затем сортирует их.ИМХО, проще было бы отсортировать их в самом запросе:

$result = $connect->query("select name from treeview where parent_id = 1 ORDER BY 1;");
# Here ------------------------------------------------------------------^
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...