|
|
|
| После выполения запроса, которые тянет данные из трех таблиц, формируется результативный массив из строк, которые повторяются..
Как удалить повторяющиеся элементы и оставить только уникальные? | |
|
|
|
|
|
|
|
для: OLi
(22.09.2012 в 19:19)
| | Что значит повторяется? | |
|
|
|
|
70.4 Кб |
|
|
для: confirm
(22.09.2012 в 19:20)
| | Вот скрин результата от запроса: | |
|
|
|
|
|
|
|
для: OLi
(22.09.2012 в 19:24)
| | Вы вопрос как задали - "лишние данные в массиве", а результат запроса это ресурс, некоторую разницу улавливаете?
Если у вас в ресурсе полученном одинаковые записи, то в раздел MySQL со своим запросом, и что вам надо будет с ним, то-ли группировка, то-ли выборка только уникальных, разбирайтесь.
Если вы получаете массив из результата запроса, а в нем каждой записи по две, то кто вас заставляет использовать mysql_fetch_array(), или использовать ее, но неподобающим образом. | |
|
|
|
|
|
|
|
для: confirm
(22.09.2012 в 19:32)
| | Запрос всегда будет возвращать больше одной строки с повторяющимися полями, потому как запрос составной по двум таблицам с связью по 2-м полям, поэтому вопрос стороны php, как удалить повторяющиеся элементы в массиве. Посмотите на скрин | |
|
|
|
|
|
|
|
для: OLi
(22.09.2012 в 19:50)
| | Смотрел, и что? Вы думаете эта картинка много поясняет? | |
|
|
|
|
|
|
|
для: confirm
(22.09.2012 в 19:53)
| | Тогда относительно картинки, скажу, что мне необходимо:
Нужно чтобы был сформирован массив примерно так:
array (
name => '1olda PARTY',
description => QEQE
type => 1
start_time => array ('34982893022', '2274893022'),
end_time => array ('93827573833', '34578294562')
)
|
| |
|
|
|
|
|
|
|
для: OLi
(22.09.2012 в 20:06)
| | Вы бы лучше не хотения свои и следствия в виде картинок показывали, а то, что служит причиной их.
Я вам уже сказал - если это запрос возвращает дубликаты, то SELECT DISTINCT ваш запрос, вернет вам только уникальные значения.
А возможно причина не в этом, а в том, как вы получаете ресурс.
А гадать я не буду. | |
|
|
|
|
|
|
|
для: OLi
(22.09.2012 в 19:50)
| | array_unique()? | |
|
|
|
|
|
|
|
для: Киналь
(22.09.2012 в 20:33)
| | А может сперва с причиной разобраться? | |
|
|
|
|
|
|
|
для: confirm
(22.09.2012 в 20:34)
| | Автору темы даётся классический выбор между решением проблемы «быстро» и «правильно»=) | |
|
|
|
|
|
|
|
для: Киналь
(22.09.2012 в 20:49)
| | Решение проблемы, это нахождение причины проблемы ;) | |
|
|
|
|
|
|
|
для: confirm
(22.09.2012 в 20:51)
| | Не соглашусь. Задача — избавиться от повторяющихся элементов. Быстро она решается костылём в виде array_unique(), правильно — рефакторингом скрипта или вообще всей архитектуры проекта. Но решается в обоих случаях. | |
|
|
|
|
|
|
|
для: Киналь
(22.09.2012 в 21:24)
| | Быстро в виде array_unique() она не решается, так как вообще не известно о чем речь - где та самая дыра? А "костыли", это вуалирование ошибочным решением либо, в одном случае, не знания как правильно выполнить запрос, либо, в другом случае, как правильно получить данные ресурса.
В данном случае нет задачи, а не понятно что и почему творится, и вы предлагаете не решение, а плюнуть и забыть, и "костылем" подогнать под ответ. | |
|
|
|
|
|
|
|
для: confirm
(22.09.2012 в 21:30)
| | > формируется результативный массив из строк
> Как удалить повторяющиеся элементы и оставить только уникальные?
Постановка задачи, которую автор не может решить. А что он не хочет искать корни проблемы — ну-у... Предложены оба варианта, а дальше каждый сам себе злобный Буратино=) | |
|
|
|
|
|
|
|
для: Киналь
(22.09.2012 в 22:10)
| | >формируется результативный массив из строк
А вы знаете как он его формирует? Я нет. А если mysql_fetch_array() ему в этом "помогает", то при чем тут array_unique()?
Я удивляюсь, голова для чего, чтобы только кушать или еще и думать? Наверное, надо бы ему подумать и разобраться. | |
|
|
|