Как мне отобразить элементы в выпадающем списке в алфавитном порядке, а не в порядке идентификатора в БД

#php #mysql

#php #mysql

Вопрос:

Я хочу перечислить сайты в выпадающем списке «ВКЛ.» … в алфавитном порядке

http://virchoo.neighborrow.com/postcard

  <div class="line">on <select name="connection">
                <?php foreach($System->ClientHandler->getClientList() as $client): if($client->id != 4): ?>
                    <option value="<?= $client->id ?>"><?= $client->name ?></option>
                <?php endif; endforeach; ?>
                <option value="4">other</option>
            </select></div>
  

Ответ №1:

Добавьте предложение ‘ORDER BY’ к вашему запросу.

Ответ №2:

Вы могли бы использовать предложение «ORDER BY» к вашему SQL-запросу.

SELECT * FROM clients ORDER BY name ASC

Ответ №3:

Является ли getClientList() вашим кодом, и это единственное место, где вы его используете? Если это так, отсортируйте результаты в getClientList(). Если нет, скопируйте результаты getClientList() в массив, отсортируйте его и выполните итерацию по нему вместо этого.

Ответ №4:

Если вы выбираете свой список клиентов из базы данных, добавьте ORDER BY в запрос. Если вы используете какую-либо библиотеку и не можете отсортировать ее там, то вы, вероятно, можете присвоить getClientList() результат массиву, а затем отсортировать этот массив перед созданием списка выбора в HTML. Если ваша сортировка не очевидна, то вам может потребоваться использовать usort() функцию.