Есть БД
там 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 написал(а):
Спасибо огромное!
буду пробовать.
буду пробовать.