[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Многомерный массив, foreach + бд
Remka
Всем привет!

Есть БД
там 3 колонки
tag_key tag_name tag_view

Судь в том что нужно сделать чтобы формочки html собирались из бд реч идет о

<select>
<option></option>
<option></option>
</select>




tag_key:
говорит нам что мы получаем select или option

tag_name:
служит для определения какой option находится внутри какого select что то типо группы

tag_view:
выводит тег

Как я это вижу
1. Делаем запрос
2. Создаем через цикл многомерный массив что то на подобии

$arr = аrrау(
"select1" => array (
"option1" => "Мужик",
"option1" => "Девченка",
"option1" => "Старуха"
),
"select2" => array (
"option2" => "Елка",
"option2" => "Дуб",
"option2" => "Береза"
)
);


3. После чего разобрать этот массив и построить сам код селекта
4. записать строку в шаблонизатор

Вот все хорошо все выходит
только не могу я по нормальному разобрать этот массив с помощью foreach

Подскажите как разбирать такие массивы.





Спустя 31 минута, 31 секунда (8.03.2011 - 00:45) sharki написал(а):
Вообще, он у тебя плохо всё будет выводить (в твоем примере), а именно потому, что у тебя там одинаковый ключ везде, следовательно он выведет тебе только последнее значение, чтобы пропустить всё это через фореч нужно дать рандомные ключи опшинам чтобы они хоть как то отличались, и потом перебрать foreach

foreach ($arr['select1'] as $v => $k) {
echo '<br>' . $v . "=>" . $k;
}


Это если указывать статически. А если динамически, наверное так:

foreach ($arr as $mass)
foreach ($mass as $v => $k) {
echo '<br>' . $v . "=>" . $k;
}

Спустя 1 минута, 22 секунды (8.03.2011 - 00:46) Oyeme написал(а):

$arr = array(
'select1'=>array(
'option1' => 'm1',
'option2' => 'm2',
'option3' => 'm3'
),
'select2' => array (
'option1' => 'test1',
'option2' => 'test2',
'option3' => 'test3'
)
);



foreach ($arr as $key => $value) {
$data = '<select>';
foreach ($value as $k => $v) {
$data.= "<option value='$k'>".$v."</option>";
echo $v;
}
$data.= '</select>';
echo $data;//@FIXME://
unset($data);//@FIXME://
}

Спустя 12 минут (8.03.2011 - 00:58) Remka написал(а):
Спасибо огромное!
буду пробовать.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.