Существует очень много тем, которые касаются получения разных значений из БД, но я думаю, что это не совсем учитывает этот конкретный случай. Я не могу найти ничего, что отвечает на эти ключевые слова, поэтому, возможно, объяснение проблемы будет иметь больший успех.Интеркалирование (или «перетасовка» организованным способом) значения, полученные из базы данных MySQL
У меня есть таблица много, как эта:
| ID | Name | Location | Color | ...
============================================
| 1 | Apple | Cupboard | Red |
| 2 | Banana | Fridge | Yellow |
| 3 | Lemon | Fridge | Yellow |
| 4 | Kiwi | Drawer | Green |
| 5 | Orange | Basket | Orange |
| 6 | Peach | Drawer | Orange |
| 7 | Grapes | Fridge | Purple |
| 8 | Lime | Basket | Green |
Как можно видеть, есть несколько фруктового значения заказанного именно так, как они были введены в базу данных. Поэтому их идентификаторы не помогут нам, поскольку они не обещают настоящей организации фруктов и их информации.
Что я делаю, это вывод их из БД в соответствии с местоположением. Все хорошо до этого. Однако это не так просто. Я использую jQuery Masonry для распространения своих блоков данных на странице, и я хочу, чтобы посетитель мог просматривать образцы фруктов в каждом месте, интеркалированном с другим.
Давайте представим, что в этой таблице было более 100 предметов. Если я просто закажу их в алфавитном порядке в зависимости от местоположения, например, средний зритель соскучится и убежит, прежде чем он или она попадет к тем предметам в «месте холодильника», например. Поэтому мне действительно нужно интеркалировать эти ценности.
Теперь я попытался это на уровне MySQL-запроса, но, похоже, нет никакого кода SELECT
, который допускает интеркаляцию. Теперь я думаю, что если я извлечу все значения из каждого местоположения и задаю их в отдельном массиве, я тогда могу объединить строки с тем же # и поместить их один за другим.
Например, я получаю Array A с Orange и Lime, затем Array B с Apple, затем Array C с киви и персиком, а затем Array D с бананом, лимоном и виноградом. Таким образом, Orange, Apple, Kiwi и Banana будут 1 в своих соответствующих массивах. Так или иначе, я мог бы называть все 1s и ставить их бок о бок, чтобы он печатал наши 4 блока данных, каждый со всей информацией, которая принадлежит каждому из этих фруктов во всех соответствующих строках 1. Тогда я мог бы сделать то же самое для всех соответствующие строки 2, 3 и т. д. и т. д.
Однако я застрял в этом пункте. Я попытался придумать пару кодов, чтобы сделать это, но я дошел до того, что у меня есть все отдельные запросы, заданные из MySQL, а затем настроены на отдельные массивы и затем разделяются на отдельные подмассивы ... но как «Я объединяю» отдельные массивы по числу?
Я не уверен, что это было самое ясное объяснение ... Извините. Но я надеюсь, что вы поймете, и кто-то может дать мне руку.
Возможно, вместо большей ясности в пояснительной части я могу показать вам, что я хотел бы получить в конце всего этого, то есть все значения, интеркалированные по местоположению (упорядочено ASC
, за исключением «Шкаф», , который будет в первую очередь) и подзадачи по ID DESC
:
Hum! Не позволяет мне отправлять изображения! Мне нужно еще 2 пункта для этого! О хорошо, here you have a link to the image.
EDIT: Ничего! Ура! Получил реплики, которые мне нужно, чтобы отправить изображение. Благодаря!
Вы продолжаете использовать это слово, я не думаю, что это означает, что вы думаете, что это значит. – ultranaut
@ultranaut - Послушайте, все, что вам нужно сделать, это интеркалировать между строками, и его смысл будет ясен. – anon
Какое слово, ультранут? – QuestionerNo27