Беру ряд строк с таблицы MySQL:
$IDs = array(5,3,1,4,2);
$db = JFactory::getDBO();
$query = $db->getQuery(true);
$query->select($db->quoteName(array('id','introtext')))
->from($db->quoteName('#__content'))
->where($db->quoteName('id')." IN (".implode(',', $IDs).")");
$db->setQuery($query);
$articles = $db->loadObjectList();
И вывожу на сайте через:
foreach($articles as $article) {
echo $article->introtext;
}
Но все выводится НЕ согласно порядку массива $IDs т.е. сначало обьект с ID 5, потом 3 и т.д. а в порядке возрастания ID т.е. 1, 2, 3, 4, 5.
Как сделать чтобы всё выводилось согласно массиву $IDs?
ps. Синтаксис API Joomla
Вначале сформировать массив с нужной сортировкой а потом выводить на страницу
// Перестраиваем индексы исходного массива
$IDs = array_merge($IDs);
// Формируем массив из null элементов и длиной исходного массива
$content = array_fill(0, count($IDs), null);
foreach($articles as $article) {
// заполняем массив в нужном порядке
$content[array_search($article->id), $IDs] = $article->introtext;
}
// выводим все заполненные значения
foreach($content as $article) {
if (isset($article))
echo $article;
}
Нашел сам похожий вариант, но вроде бы проще:
$arrayOfArticles = array();
foreach($articles as $unsortedArticle) {
$arrayOfArticles[$unsortedArticle->id] = $unsortedArticle;
}
foreach($IDs as $sortedID) {
$article = $arrayOfArticles[$sortedID];
echo $article->introtext;
}
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Учусь создавать приложения на JavaВозник такой вопрос: на чем лучше создавать графический интерфейс? Делал 2 пробных проекта с GUI, используя...
Привет, есть экзаменационное задание по JavaНадо дописать частично написанную программу, текста самой программы нет, есть только jar файл с кучей...
Есть метод, где я сохраняю значения нажатого элемента в моём recyclerView:
собственно можно ли юзать интернационализацию через набор файлов с ресурсами без jsp? в частности интересует angular 2если да, то можно пожалуйста...