Будучи признанным новичком, я ищу несколько советов и указаний:)
В моей базе данных есть таблица с именем Дамбы , которая представляет собой просто список дамб по всему миру. Одно из полей в этой таблице называется Страна ; страна, в которой находится названная плотина.
Я хочу разместить на своем сайте форму поиска, позволяющую кому-либо осуществлять поиск по плотинам, а для поля Страна я хочу представить ее в виде раскрывающегося списка, в котором перечислены все страны, которые находятся в этом регионе. поле, в алфавитном порядке с номером после названия каждой страны и числом раз, когда эта страна встречается в поле. Например, в Бразилии 15 плотин, поэтому я хочу, чтобы в Бразилии для выпадающего меню было указано « Бразилия (15 плотин) ».
Ситуация еще сложнее, потому что страны дамбы, сохраненные в базе данных, являются просто кодами стран (США, ГБ и т. Д.), А не фактическими названиями стран (США, Великобритания и т. Д.), Которые я хочу использовать.
Я создал массив кодов / названий стран, например:
$countries = array(
"AF" => "Afghanistan",
"AL" => "Albania",
"DZ" => "Algeria",
"AS" => "American Samoa",
...
"ZW" => "Zimbabwe"
);
И я создал запрос ниже, чтобы извлечь содержимое поля страны из таблицы, подсчитать, сколько в каждой стране встречается, и сгруппировать результаты:
$result = $this->db->query("select country,count(*) as count from default_dams group by country")->result_array();
Теперь я дошел до того, что не знаю, как действовать.
Я экспериментировал с использованием цикла foreach примерно так:
foreach ($query as $row)
{
$dropdown[$row['country']] = $row['count'];
}
return $dropdown;
и это дает ...
<option value="AL">3</option>
<option value="CN">94</option>
<option value="ZW">1</option>
... так что я чувствую, что куда-то добираюсь, но я не знаю, как ввести свой массив $ стран, чтобы обеспечить вывод вроде:
<option value="AL">Albania (3 dams)</option>
<option value="CN">China (94 dams)</option>
<option value="ZW">Zimbabwe (1 dam)</option>
Полагаю, мне нужен цикл foreach для прохождения $ result и формирования массива результатов для передачи из моей модели в представление, но как построить этот массив?
Кстати, фрагмент кода из моего файла просмотра, который отображает выпадающий список:
$first_field = '><option value="all">Any Country</option';
echo form_dropdown('dam-country', $dropdown, 'all', $first_field);
Вся помощь и совет принимаются с благодарностью. :)
Tony.