Возвращение уникальных значений многомерного массива с помощью CodeIgniter PHP - PullRequest
0 голосов
/ 18 июля 2009

Я занимаюсь разработкой сайта по аренде недвижимости. Страница результатов поиска будет содержать список результатов поиска свойств. Я намерен переопределить результаты, например, по городу, стране, типу недвижимости и т. Д.

Так скажем, например, пользователь ищет «Франция». Все относительные свойства будут возвращены и отображены в виде списка.

Однако мне также нужно повторно использовать этот массив, чтобы отображать только уникальные названия городов из массива результатов поиска. например Монпелье, Лион, Ренн, Ницца и т. Д. Идея состоит в том, что когда пользователь нажимает «Ницца», возвращаются только свойства «Ниццы». Я также хотел бы показать, сколько объектов недвижимости в этом городе.

Ближайший пример того, чего я хочу достичь. http://www.miaandmaggie.com/dog-collars-leashes.html

Есть идеи, как я могу использовать свой поисковый массив для отображения уникальных городов поиска?

Большое спасибо! M

Ответы [ 2 ]

0 голосов
/ 18 июля 2009

Я заметил пару вещей:

  • Для параметра страны просто передайте код страны напрямую вместо множества блоков if-else для выбора из нескольких стран.
  • Разве $Q->result_array() не совпадает с $data? Если вы не собираетесь включать условие в цикл, вам не нужен цикл.
  • плотина также правильно, что вам нужно иметь 2 (или, возможно, больше) условий в вашем запросе для дальнейшей фильтрации ваших результатов.
  • Я также заметил, что вы запрашиваете данные из одной таблицы. Возможно, вы захотите создать отдельные таблицы для страны, региона, типа собственности, города и т. Д. Для нормализации вашей схемы.
0 голосов
/ 18 июля 2009

вам нужно двойное условие, как в вашем SQL-запросе

"... where `country`='France' and `region`='Lyon'"

Я не знаю, как работает ваш $this->db object, но из вашего вопроса я предполагаю, что когда вы звоните

$this->db->where('country',$country_code);

это переписывает то, что вы сделали несколькими строками выше:

$this->db->where('region',$region);

и в итоге вы получаете все объекты недвижимости во Франции, а не только в Лионе

Я думаю, вы должны понять, как работает $this->db->where, и найти способ указать второе условие для вашего оператора sql

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...